5 ms·
Great to see progress in this space. I remember trying out G1 for the first time years ago and almost immediately noping out of it as the performance was terrib
by bitcharmer 7y ago
Great to see progress in this space. I remember trying out G1 for the first time years ago and almost immediately noping out of it as the performance was terrible.
Working in low-latency space the angle for me is much more about GC latency (in microsecond-level scales).
I've never seen anyone doing a thorough evaluation of GC times across different implementations.
Does anyone here have any interesting sources to share?
- noelwelsh 7y agoI haven't spent much time in the world of JVM tuning, but if latency is your main concern the relatively new ZGC should be your jam: https://wiki.openjdk.java.net/display/zgc/Main https://wiki.openjdk.java.net/display/zgc/Main
- pron 7y agoYep. ZGC will soon offer worst-case pauses of <1ms (it's around 2-3 now).
- The_rationalist 7y agoFor how much % less of throughput tough?
- pron 7y agoYou can take a look at the slides and talks here: https://wiki.openjdk.java.net/display/zgc/ https://wiki.openjdk.java.net/display/zgc/
- The_rationalist 7y agoThanks! Nice to know they added support for class data sharing in jvm 15!
- maxpert 7y agoIs ZGC production ready? Specially with JVM11?
- noelwelsh 7y agoI haven't used it myself but I have heard others do so with success. It looks like JDK14 has some significant improvements to ZGC so I would try to run on that if possible. I might do some performance tests of my own soon.
- pron 7y agoIt will be declared non-experimental in 15, but people are running it in production on 14. GCs, and performance in general, tend to improve quite significantly between releases.
- MaxBarraclough 7y agoGreat news. How about the rival Shenandoah GC?
- pron 7y agoThey're both non-experimental in 15: https://openjdk.java.net/projects/jdk/15/ https://openjdk.java.net/projects/jdk/15/
- bitcharmer 7y agoThis is interesting; I would really appreciate source on this. Also, what are the parameters for this assessment (cpu count, cpu frequency, memory frequency, heap size, object demography etc)?
- pron 7y agoThere's material here (talks, slides etc.): https://wiki.openjdk.java.net/display/zgc/ https://wiki.openjdk.java.net/display/zgc/ I think the plan is to reach the 1ms worst-case goal in 15 or 16.