-
Notifications
You must be signed in to change notification settings - Fork 197
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
make synchronization of classpath calculation more fine-grained #4681
Conversation
tycho-core/src/main/java/org/eclipse/tycho/core/osgitools/OsgiBundleProject.java
Outdated
Show resolved
Hide resolved
2f915d6
to
a56b657
Compare
tycho-core/src/main/java/org/eclipse/tycho/core/osgitools/OsgiBundleProject.java
Outdated
Show resolved
Hide resolved
74faa34
to
9562574
Compare
tycho-core/src/main/java/org/eclipse/tycho/core/osgitools/OsgiBundleProject.java
Outdated
Show resolved
Hide resolved
tycho-core/src/main/java/org/eclipse/tycho/core/osgitools/OsgiBundleProject.java
Outdated
Show resolved
Hide resolved
Currently, the calculation of the classpath for a project is effectively a singleton because the BundleProject is used as monitor (synchronization). This leads to a poor performance if executing a tycho build with many threads, many projects and complex dependencies. This change replaces the global monitor with a fine-grained monitor the given project the classpath should be calculated for. This speeds up the parallel build.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for spotting this and the fix
Thanks for your improvement propsals and for quickly processing this! 🙂 |
Test Results 606 files ±0 606 suites ±0 4h 25m 23s ⏱️ + 15m 11s For more details on these failures, see this check. Results for commit 3cfa93d. ± Comparison against base commit 18d50ba. |
💚 All backports created successfully
Note: Successful backport PRs will be merged automatically after passing CI. Questions ?Please refer to the Backport tool documentation and see the Github Action logs for details |
Currently, the calculation of the classpath for a project is effectively a singleton because the BundleProject is used as monitor (synchronization). This leads to a poor performance if executing a tycho build with many threads, many projects and complex dependencies.
This change replaces the global monitor with a fine-grained monitor the given project the classpath should be calculated for. This speeds up the parallel build.