4 ms·
> ZGC will have a <1ms worst-case latency In our benchmarks we never saw a GC pause of more than 2 ms on either ZGC or Shenandoah, but the end-to-end latency,
by haxen 6y ago
> ZGC will have a <1ms worst-case latency
In our benchmarks we never saw a GC pause of more than 2 ms on either ZGC or Shenandoah, but the end-to-end latency, the one the user cares about, is impacted by much more than a single GC pause. Sometimes there would be several pauses in a rapid sequence, or just the background GC thread would do too much work at once.
Even after dedicating a core or two to the GC, you still face the issues of cache pollution and RAM throughput stealing that heap walking incurs.
- pron 6y agoYep, that's because concurrent stack processing (https://openjdk.java.net/jeps/376 https://openjdk.java.net/jeps/376) hasn't been merged yet, nor has the changes to the VM's internal references. Both of those are coming within a year. Until then, there's still significant work done by the GC at safepoints.
- haxen 6y agoA month ago we benchmarked against the master of the ZGC repo. There wasn't a big difference.
- pron 6y agoSorry, I misread your previous comment. The planned improvements that would make the biggest difference are making ZGC generational, and improving scalar-replacement (or doing some sort of stack allocation).