4 ms·
> The new low-latency Java GCs are more sophisticated than Go's, and deliver pauses that are on the order of OS-caused pauses. ZGC, whose explicit goal is to b
by ngrilly 8y ago
> The new low-latency Java GCs are more sophisticated than Go's, and deliver pauses that are on the order of OS-caused pauses.
ZGC, whose explicit goal is to be a low latency GC for Java, has a goal of 10 ms max pause time, which seems way above the pauses caused by the OS (compared to two <0.5 ms pauses per GC cycle for Go). The number came from the video you shared earlier. But maybe I misunderstood something.
- pron 8y ago1. In the video they say that in practice they see average pauses of 1ms and max pauses of 4ms. 2. It's still very early days for ZGC, but there are more established low-latency Java GCs. A non-realtime one is C4[1] (used in the Zing JVM), which then added generational collection to a design that is similar to ZGC. They report[2] a few 0.5-1ms pauses per hour [1]: https://www.azul.com/files/c4_paper_acm2.pdf https://www.azul.com/files/c4_paper_acm2.pdf [2]: https://groups.google.com/forum/#!topic/mechanical-sympathy/DWlziVmyW-w https://groups.google.com/forum/#!topic/mechanical-sympathy/...
- ngrilly 8y agoThanks for the links. This is definitely great engineering. I also recommend this short presentation of ZGC: https://dinfuehr.github.io/blog/a-first-look-into-zgc/ https://dinfuehr.github.io/blog/a-first-look-into-zgc/