The Green Tea Garbage Collector
7 months ago
- #Garbage collection
- #Performance optimization
- #Go programming
- Go 1.25 引入名为 Green Tea 的实验性垃圾回收器,可使多数工作负载的 GC 时间减少 10-40%
- Green Tea 已达到生产环境标准并在 Google 内部使用,计划于 Go 1.26 将其设为默认回收器
- 传统 Go 垃圾回收器采用标记-清除算法,需标记可达对象并清除不可达对象
- Green Tea 通过以内存页为单位(而非单个对象)进行优化,提升缓存利用率并减少内存停顿
- 向量硬件加速(如 AVX-512)通过支持高效的整页操作,进一步提升了 Green Tea 性能
- 初期基准测试显示 GC 的 CPU 开销降低 10-40%,预计向量加速还将带来额外改进
- 用户可通过 GOEXPERIMENT=greenteagc 在 Go 1.25 中启用 Green Tea,Go 1.26 支持使用 GOEXPERIMENT=nogreenteagc 禁用
- 官方鼓励用户提交反馈以完善 Green Tea 的最终版本