-
Notifications
You must be signed in to change notification settings - Fork 74
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
Enable String Deduplication on JDK 17+ #1380
Conversation
Let's pick a couple performance-sensitive canary services and try this out before including in sls-packaging |
we've run with this one one apollo node for 24 hours and interestingly haven't seen a noticeable reduction in heap yet (but also haven't seen any downside in terms of CPU either). Perhaps we should trial it on a really performance sensitive service like MP or timelock before blasting to everyone? |
@pkoenig10 Thoughts on giving this a shot in MP? |
Happy to merge this. Currently this branch targets #1374 which is still do-not-merge, up to you how you'd like to sequence things. |
I will rebase off develop later tonight/tomorrow and update this to target develop |
G1 and Shenandoah GC support string deduplication as of JDK 17 * https://openjdk.java.net/jeps/192 * https://bugs.openjdk.org/browse/JDK-8264718 Only enable on JDK 17+ due to fix https://bugs.openjdk.org/browse/JDK-8277981 JDK 18+ enable string deduplication for SerialGC, ParallalGC, and ZGC. See https://malloc.se/blog/zgc-jdk18
c9747ef
to
5f9b9f4
Compare
Generate changelog in
|
42cb1fb
to
8882e0b
Compare
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!
Released 7.32.0 |
Before this PR
JVM string deduplication was not enabled
After this PR
Reduce heap size by allowing JVM garbage collectors to deduplicate strings.
==COMMIT_MSG==
Enable String Deduplication on JDK 17+
G1 and Shenandoah GC support string deduplication as of JDK 17
Only enable on JDK 17+ due to fix
https://bugs.openjdk.org/browse/JDK-8277981
JDK 18+ enable string deduplication for SerialGC, ParallalGC, and ZGC.
https://malloc.se/blog/zgc-jdk18
==COMMIT_MSG==
Closes #1378
Possible downsides?
Enabling this by default may trigger some unknown JDK bug(s).