文件名称:luarc-5.1:Lua5.1的引用计数版本
文件大小:2.67MB
文件格式:ZIP
更新时间:2024-06-25 15:57:16
C
#Luarc-5.1 在 Lua 5.1.4 中实现的引用计数内存管理和 Mark/Sweep GC 的实现。 #执行 使用纯引用计数实现,即一旦引用计数变为 0,堆对象将被回收,不使用延迟释放。 是的,由于引用计数更新,更多的cpu周期用于参数传递和其他堆栈操作,并且在发布大数据结构时可能会出现大延迟。 但好处也很大,任何内存块只要不使用就会被释放,不存在“垃圾内存泡沫”,内存占用非常小,GC开销更少。 在某些测试中,应用程序运行时几乎不会触发 GC。 这非常适合内存容量小的设备和许多临时堆对象。 Mark/Sweep GC 用于回收无法通过引用计数回收的具有循环引用的垃圾堆对象。 #表现 测试用例来自 。 cpu 时间由 time 命令测量。 内存使用量是 ps 命令的 RSS 值。 ###执行时间处理时间 在大多数测试用例中,vanilla Lua 比 Luarc 更快。