From: lua-bounces@bazar2.conectiva.com.br
[mailto:lua-bounces@bazar2.conectiva.com.br] On Behalf Of
Richard Ranft
I don't know about the Lua internals, but for a memory
management system I'd look into something like the
frame-based memory system described by Steven Ranck in Game
Programming Gems vol.1 on page 92. This system lends itself
fairly well to gc and dynamic allocation.
The frame based allocation approach doesn't maintain headers for the
individual memory allocations. In this way, it is more efficient for
allocation and freeing of blocks of memory. Unfortunately, the extra
performance (both speed and size) doesn't lend itself well to the dynamic
memory allocation Lua performs. Lua's memory blocks come in all shapes and
sizes, and they are never freed in a consistent sequential order. The frame
based approach would only work well if Lua allocated a whole bunch of memory
and then freed it in reverse order. With the way Lua is architected and the
dynamic nature of the scripts it runs, I'm certain this couldn't work for
Lua 5.0.
Josh