Balanced GC: A Copying Garbage Collector for Golang
February 26, 2024
31 min
Free
go
gc
allocation
copying-gc
bump-allocation
golang
garbage-collection
microservices
performance-optimization
memory-management
runtime
Description
In this talk, Yifei Zhang introduces Balanced GC, a copying garbage collector for Golang. It allows bump allocation for small pointerless objects in per-goroutine allocation buffers and uses a copying GC to manage that memory. Balanced GC can significantly accelerate object allocation and improve the performance of large-scale online microservices, demonstrating an average of 4% performance improvement, with up to 10% in some cases.