lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]



On 3-Dec-07, at 8:34 AM, Niklas Frykholm wrote:

I am seeing a GC stall of about 8 ms in luaC_separateudata(). After looking at the code and reading chapter 31 of Programming in Lua, I think that there simply are too many userdata objects in my lua state.

That's probably not the issue. luaC_separateudata() atomically loops over all the userdata objects which are available for garbage collection. So the pause time reflects the number
of objects being collected, not the number of objects available.

Since you have a lot of objects in your lua univese, the incremental garbage collector isn't running often enough, and when it does run you have a large number of userdata's to collect. (I'm referring to the total number of objects, not just the userdatas.)