关于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 ???有什么好处吗?