3 ms·
I think the Go GC guarantees pauses bounded below 100 microseconds, regardless of the heap size. Of course, that means incremental GC.
by ngrilly 4y ago
I think the Go GC guarantees pauses bounded below 100 microseconds, regardless of the heap size. Of course, that means incremental GC.
- kaba0 4y agoGo’s GC is not state of the art, Java’s ZGC is.
- ngrilly 4y agoPerhaps Go's GC is not state of the art, or perhaps it is, but I don't think that's a very helpful statement without being more specific. Here is a what I found: "The ZGC design strives to deliver a max pause time of a few milliseconds with marginal throughput loss." [1] "We now have an objective of 500 microseconds stop the world pause per GC cycle." [2] Of course, those GCs have different tradeoffs in terms of max pause time, app throughput, memory fragmention/usage, etc. [1] Deep Dive into ZGC: A Modern Garbage Collector in OpenJDK , September 2022, https://dl.acm.org/doi/fullHtml/10.1145/3538532 https://dl.acm.org/doi/fullHtml/10.1145/3538532 [2] Getting to Go: The Journey of Go's Garbage Collector, July 2018, https://go.dev/blog/ismmkeynote https://go.dev/blog/ismmkeynote