-
-
Notifications
You must be signed in to change notification settings - Fork 86
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
Performance degradation in 2.7.6+ #344
Comments
FYI, this is what the project dependency tree looks like:
|
IIUC, it's https://github.com/opendaylight/aaa ? |
correct, it is currently using 2.7.5. Attempting to bump to 2.7.6 (via https://git.opendaylight.org/gerrit/c/aaa/+/105524) ends up exceeding 60 minutes build time, and thus fails to verify with:
I have verified locally 2.7.7 behaves essentially the same. |
@knrc Aether / Maven Resolver API is much more chatty (many more dependency nodes) than previous Maven Dependency Graph: we'll need to optimize to cut the dependency graph when it's useful... |
@hboutemy Chatty in what way? IIRC it should be the same nodes as the maven one (different type obviously) but with direct access to the winner information hidden by the maven tree. |
I can take a look at this and see what is going on |
@rovarga @hboutemy I've rebased my changes for #311 onto master and submitted a PR, see #345 I'm seeing the following results with the 2.7.5
2.7.6
2.7.7
2.7.8-SNAPSHOT
@rovarga can you please try this locally and see how it performs for you? |
I can confirm this fixes the performance issue. Tracing also indicates there are only 2577 invocations of PackageURL.canonicalize(). Thanks for the quick turnaround! :) |
@rovarga Thanks for the confirmation. There's one thing left for me to do with that PR, not related to your use case, so I'll try to get it completed as quickly as I can. |
fixed by #345 |
The
makeBom
execution suffers a massive performance degradation since 2.7.6, also present in 2.7.7:With 2.7.5:
With 2.7.7:
The crux of the problem seems to lie in DefaultModelConverter.generatePackageUrl() and DefaultProjectDependenciesConverter.buildDependencyGraphNode() -- these get called ~22M and ~7M times respectively.
The text was updated successfully, but these errors were encountered: