3 ms·
This is an interesting article on the topic: https://blog.plan99.net/modern-garbage-collection-part-2-1c88847abcfd https://blog.plan99.net/modern-garbage-colle
by cozos 7y ago
This is an interesting article on the topic:
https://blog.plan99.net/modern-garbage-collection-part-2-1c88847abcfd https://blog.plan99.net/modern-garbage-collection-part-2-1c8...
https://www.reddit.com/r/golang/comments/5j7phw/modern_garbage_collection/dbe958e/?context=10000 https://www.reddit.com/r/golang/comments/5j7phw/modern_garba...
> "Go: 67 ms max, 1062 pauses, 23.6 s total pause, 22 ms mean pause, 91 s total runtime
> Java, G1 GC, no tuning: 86 ms max, 65 pauses, 2.7 s total pause, 41 ms mean pause, 20 s total runtime"
What I got from this is that Go has faster GC pauses at the cost of throughput (i.e. more pauses resulting in higher total pause time).
The new JVM Shenandoah GC also makes this tradeoff by adding another layer of indirection ("Brooks forwarding pointer") which has a throughput performance cost but gives you really low GC pauses.