[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: GC stall in luaC_separateudata
- From: Niklas Frykholm <niklas@...>
- Date: Wed, 05 Dec 2007 15:01:51 +0100
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.
Most of these objects come from arithmetic operations on vectors (which
are represented as userdata objects), so my best idea right now is to
change that to a table representation, which would mean fewer userdata
objects (possibly at the cost of performance).
Good news. I have changed all my userdata objects to tables and this got
rid of the stall in luaC_separateudata() completely. Also, the overall
performance seems to be about the same. As far as I can tell, the table
representation is not much more expensive than the userdata representation