Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reuse already created FileSystems during collection of ApplicationArchive #21660

Merged
merged 1 commit into from
Nov 29, 2021

Conversation

Postremus
Copy link
Member

@Postremus Postremus commented Nov 23, 2021

The applicationarchive contains paths that are inside a zipfilesystem (of .jar files), needing the filesystem to be kept open during the whole build.
During collection of the applicationarchives by marker files (e.g. META-INF/jandex.idx), a fs is opened for checking for a marker file, and the opened again to be used for the paths of the apparchive.

Also, try to reduce the amount of calls to isDIrectory, since this also showed up in my profiling.

On my (windows) machine, this change saves about 20ms of the dev mode startup time.

Relates to #21552, but not a complete fix.

@Postremus
Copy link
Member Author

The test failures seem kinda not related. Will do a rebase on main later to pick up latest fixes / let ci re run.

@Postremus Postremus force-pushed the reduce-created-zipfilesystems branch from 26cda69 to 1bc93db Compare November 24, 2021 15:29
@gsmet gsmet requested a review from stuartwdouglas November 24, 2021 16:45
@Postremus Postremus force-pushed the reduce-created-zipfilesystems branch from 1bc93db to a08894b Compare November 24, 2021 21:41
@quarkus-bot
Copy link

quarkus-bot bot commented Nov 25, 2021

This workflow status is outdated as a new workflow run has been triggered.

Failing Jobs - Building a08894b

Status Name Step Failures Logs Raw logs
Gradle Tests - JDK 11 Verify dependencies ⚠️ Check → Logs Raw logs

@Postremus Postremus force-pushed the reduce-created-zipfilesystems branch from a08894b to 316ced1 Compare November 25, 2021 06:10
@quarkus-bot quarkus-bot bot added the area/gradle Gradle label Nov 25, 2021
…hive

the applicationarchive contains paths that are inside a zipfilesystem (of .jar files), needing the filesystem to be kept open during the whole build.
During collection of the applicationarchives by marker files (e.g. META-INF/jandex.idx), a fs is opened for checking for a marker file, and the opened again to be used for the paths of the apparchive.
Simply reusing the filesystems saves a few cycles. Since, at least on windows, opening new ZipFileSystems is relatively expensive.
@Postremus Postremus force-pushed the reduce-created-zipfilesystems branch from 6c62e86 to d0594d4 Compare November 25, 2021 11:16
@Postremus
Copy link
Member Author

@stuartwdouglas
CI is green now, doing another rebase to pickup #21688

@geoand geoand merged commit ebd6d37 into quarkusio:main Nov 29, 2021
@quarkus-bot quarkus-bot bot added this to the 2.6 - main milestone Nov 29, 2021
@Postremus Postremus deleted the reduce-created-zipfilesystems branch November 29, 2021 09:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants