SBCL 的并行垃圾回收

2024-05-12

本文介绍了为 Steel Bank Common Lisp (SBCL) 实现的并行垃圾回收器。该回收器基于 Immix 的标记区域堆,可在不移动对象的情况下回收内存并允许 bump 分配。该回收器利用 Immix 的设计,通过将世代与行关联来实现世代,而无需移动对象或记录每个对象的世代;并通过仅在需要时更新对象映射来实现保守的根查找,该映射基于记录连续分配对象的运行。使用一个内核的并行垃圾回收器通常比 SBCL 的复制回收器慢,但在两个内核的情况下性能优于复制回收器,并且随着内核数量的增加继续扩展。

46
未分类 垃圾回收