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

Improve Eclipse refresh time #1300

Open
andilem opened this issue Apr 7, 2024 · 0 comments
Open

Improve Eclipse refresh time #1300

andilem opened this issue Apr 7, 2024 · 0 comments

Comments

@andilem
Copy link

andilem commented Apr 7, 2024

For large multi-project builds, a Gradle Refresh operation takes a significant amount of time when there are many files in the project directories.
Most of the time is not spent on Gradle generating the .project/.classpath files, but on Eclipse refreshing the project afterwards.
This is an IO-bound operation which could be parallelized using multiple worker threads.

Expected Behavior

When performing a Gradle Refresh, after the Eclipse-specific files have been generated/updated, Eclipse should refresh the affected projects in parallel with multiple worder threads instead of only one as it currently does.
It would be even better to only refresh relevant files, but I don't know/think that is possible.

Context

In our multi-project build, we have some projects which create FatJARs containing over 10 000 classes from different JARs. When building these projects, all JARs are expanded into build/tmp, so there are many files in these directories.

A Gradle Refresh operation in Eclipse can take up to 5 minutes (only 15s are spent by Gradle generating the files, the rest is only Eclipse refreshing the projects), depending on the SSD type and virus scanner configuration, because Eclipse seems to scan all files in all project directories (even the Gradle build directory and there even the tmp directory).
If the 500+ projects would be refreshed in parallel by, say, 8 worker thread, this would reduce the refresh time enormously.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant