This is great information, and I've learned a bit more about GC.
Mike, would it be possible to include some kind of stats (or would that
be wasteful in CPU resources) - for example count table - how many times
of each type, or each group have been found to be still alive.
something like
print( gcstat["table"] ) -> 5000 tables
print( gcstat["thread"] ) -> 100 threads
or b type
print( gcstat[3] ) -> 5100 (threads + tables).
> 0: nil, boolean, number, lightuserdata
> 1: string, cdata (LuaJIT only)
> 2: upvalue, userdata, closure, prototype (medium fan-out)
> 3: table (hash, array), thread (stack)
Even some heuristic would be good enough start?
This would definitely change my way of doing thing (I'm dealing with
lots of geometry - meshes, vertices, and I think I'll stick my guns to
use "C" structures and arrays for data that is cooked, and lua
structures for live/editing of it - and functions to transfer from one
to another).
Cheers!