lua-users home
lua-l archive

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

On Fri, Dec 01, 2006 at 10:40:18PM -0500, Diego Nehab wrote:
> __gc will only be executed when the garbage collector feels
> like it. This decision is based on how much memory 
> the userdata itself takes (a few bytes). However, this userdata 
> might be just a boxed pointer, pointing to a big hunk of external
> memory (say, a few megabytes).

I'm not aware of any priority given to freeing larger blocks of
data; as far as I know, it just scans over Lua allocations, and
as soon as it knows that an object is unused (and the GC cycle
ends, according to 2.10.1 "at the end ..."), it __gc's and frees
the object (and the rest of the objects to be freed that cycle).
I don't think there's any way to tell Lua to prioritize some
objects over others.

But, the garbage collector is pretty close to a black box as
far as the documentation is concerned.  If there's a way to
hint the GC to make it more effective, I'd love to know about it.

> []s,
> Diego.

Does this mean something?  Some people sign their mails "thanks" or
"regards" or "good day".  You're the first I've seen sign "boxes".

Glenn Maynard