关于官方Lua5.3实施:写屏障

时间:2017-01-09 02:27:51

标签: algorithm lua garbage-collection

关于LUA gc提到的这个article,看着" Tri-Color Incremental Mark&扫描",在该部分的末尾,

  

这是Lua 5.1 / 5.2和LuaJIT 1.x / 2.0使用的GC算法。它是Lua 5.0中链表算法的增强。表使用后向障碍,所有其他可遍历对象使用前向障碍。

我阅读了lua_rawset的源代码 它使用luaC_barrierback(L, hvalue(o), L->top-1); 一般来说,屏障后退将减慢gc进度(灰度并重新遍历表格对象)。

我的问题是为什么作者选择障碍而不是障碍(加快gc性能)ON lua table write ???有什么好处吗?

0 个答案:

没有答案