3 ms·
Yea, i can see that. As much as i dislike Go these days, their GC is impressive as hell. I can imagine future GC's will learn a lot from Go.
by adkadskhj 5y ago
Yea, i can see that. As much as i dislike Go these days, their GC is impressive as hell. I can imagine future GC's will learn a lot from Go.
- erik_seaberg 5y agoHas it improved? Last I heard Java’s tunable GCs still have much better throughput, while Go allows stack allocation more often. (Yes, GC tuning is painful, but better than rewriting code hoping you might end up with the same behavior.)
- Zababa 5y agoWhat do you mean by "impressive as hell"? From my (limited) understanding Go's GC is average.
- adkadskhj 5y agoI don't know this field, perhaps my bar is low because of Python lol, but Go's GC has very short GC pauses. So short that it makes non-GC'd usecases less attractive imo. My big issue with Go's GC, or GC's in general, is consistency. Go's GC can still be variable in pause time iirc. But it's been ~3 years since i've worked in it - so maybe my memory is wrong :)
- Zababa 5y agoFrom what I understand Python uses reference counting, which is a type of garbage collection that allows you to have deterministic performance, almost no "pauses" but at the cost of performance. About the consistency, I think that's not a GC problem in general. For example, Java's ZGC has constant pause times: https://malloc.se/blog/zgc-jdk16 https://malloc.se/blog/zgc-jdk16.