The game I`m working on has a very high table/node
count. I'm talking around 10 000 hash tables and 120 000
Nodes. This takes a relatively long time to traverse and
causes the frame rate to drop significantly when when doing a
gc cylce ( it takes around 33ms to do the complete gc ).
luarc, a reference counted version of Lua 5.02, is pretty efficient. The
mark/sweep collector still has to run for cyclic tables, but for everything
else, it's better than any other solution I've played with. As an example,
the mark/sweep pass in Amped 1 took over 60 milliseconds. Given the number
of tables/strings/collectable data generated per frame, luarc would take a
fraction of a millisecond.
luarc is available at http://luaplus.org/.