-
Notifications
You must be signed in to change notification settings - Fork 15
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
-H:+ParseOnce
singificantly increases the memory footprint of native-image in Quarkus' integration-tests/main
#316
Comments
This issue appears to be stale because it has been open 30 days with no activity. This issue will be closed in 7 days unless |
After gathering the data it's clear that I am attaching the results sorted by Peak RSS. The measurements where gathered using GraalVM CE 22.0-dev build without libgraal from source based on e00d063 and Quarkus quarkusio/quarkus@af3db6daf5
It's worth noting that after the merge of quarkusio/quarkus#20850 Peak RSS seams to have reduced significantly for Compiling
|
Pasting the results (sorted by Peak RSS with As expected, the pattern that the tests with the most reachable Classes, Fields, and Methods have the highest Peak RSS seems to persist. What's interesting though is that if we sort the data by the Peak RSS difference between the Note that the above also negates my earlier comment:
There are tests that are much more affected but their Peak RSS was low enough to not push the limits of the GH runner.
|
Depending on the case using |
Very interesting results. Do you have numbers comparing mandrel vs Graal VM CE? It would certainly be useful to monitor those results continuously. Especially for Quarkus as we see a significant change pre/post AWT extension integration. |
No, I might schedule some runs for the weekend.
I agree, the integration-tests are already being built regularly, so what I think we need to do is to gather the data and raise some alarm in case of big differences between runs. |
Update 2022-08-17After running similar tests with GraalVM CE 22.2.0 I am still observing similar behavior. To make it easier to parse I have created a plot form the data in #316 (comment) and a plot with the new data using GraalVM CE 22.2.0 Comparing the two plots we see that there is a significant reduction in Peak RSS in 22.2.0 and the gap between |
Nice work! So it seems |
We no longer need to disable `ParseOnce` as memory usage with it enabled has improved in GraalVM 22.2. See https://docs.google.com/spreadsheets/d/15PJ1Qd7kgneuP61N1T2_AyJ3WBsbXpVHIPKbxgH1qfM/edit#gid=1672873268 for a comparison between using and not using `ParseOnce` with 22.2. Relates to oracle/graal#3435 and graalvm/mandrel#316 Fixes quarkusio#25944
We no longer need to disable `ParseOnce` as memory usage with it enabled has improved in GraalVM 22.2. See https://docs.google.com/spreadsheets/d/15PJ1Qd7kgneuP61N1T2_AyJ3WBsbXpVHIPKbxgH1qfM/edit#gid=1672873268 for a comparison between using and not using `ParseOnce` with 22.2. Relates to oracle/graal#3435 and graalvm/mandrel#316 Fixes quarkusio#25944
We no longer need to disable `ParseOnce` as memory usage with it enabled has improved in GraalVM 22.2. See https://docs.google.com/spreadsheets/d/15PJ1Qd7kgneuP61N1T2_AyJ3WBsbXpVHIPKbxgH1qfM/edit#gid=1672873268 for a comparison between using and not using `ParseOnce` with 22.2. Relates to oracle/graal#3435 and graalvm/mandrel#316 Fixes quarkusio#25944 (cherry picked from commit 03ea11c)
Closing this as |
Description
As described in #304 (comment)
-H:+ParseOnce
significantly increases the memory footprint of native-image in Quarkus'integration-tests/main
.We need to better understand why this is happening while other integration tests are not affected to such an extend.
My plan is to:
main
special (my guess is that it is pulling in more methods/classes resulting in a larger graph).Add RSS reporting for Linux oracle/graal#3913 will probably be helpful as well.
How To Reproduce
The text was updated successfully, but these errors were encountered: