Guile Lab Notebook: On the Move
10 months ago
- #Guile
- #garbage-collection
- #performance
- Guile已连接到一个主要采用移动式垃圾回收器的系统,该回收器使用保守式堆栈扫描。
- 默认情况下该回收器会原地标记对象,但在进行压缩时可将对象疏散到预留内存块中。
- 对象可以被固定在原位置,这一特性对于处理模糊引用和标识哈希非常有用。
- Guile进行了重大重构以集中对象追踪逻辑,同时避免暴露内部实现细节。
- 发现了若干错误,其中大多数存在于Guile而非垃圾回收器(Whippet)本身。
- 一个值得注意的bug涉及对象疏散和标记过程中的竞态条件,可能导致数据损坏。
- 观测到了性能提升,但需要进一步测试和启发式算法调整。