Go 1.4+垃圾收集器的计划:
- 混合世界/并发收集器
- 截止日期限制为10毫秒
- 专门用于运行并发收集器的CPU内核
- 三色标记扫掠算法
- 非世代
- 不紧凑的
- 完全精确
- 如果程序在四处移动指针,则会产生少量费用
- 与Go 1.3 GC相比,延迟更短,但很可能吞吐量也更低
在Go 1.1之上的Go 1.3垃圾收集器更新:
- 并发扫描(导致更短的暂停时间)
- 完全精确
前往1.1垃圾收集器:
- 标记扫描(并行实现)
- 非世代
- 不紧凑的
- 最精确(堆叠框架除外)
- 停止世界
- 基于位图的表示
- 程序不分配内存时的零成本(也就是说,改组指针的速度与C一样快,尽管实际上这比C的运行慢一些,因为Go编译器不如GCC这样的C编译器先进)
- 支持对象的终结器
- 不支持弱引用
去1.0垃圾收集器:
- 与Go 1.1相同,但是垃圾回收器不是很精确,而是保守的。保守的GC可以忽略诸如[] byte之类的对象。
用不同的GC替换GC是有争议的,例如:
- 除了非常大的堆之外,尚不清楚世代GC总体上是否会更快
- 软件包“不安全”使得难以实施完全精确的GC和压缩GC



