[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Managing large indirect userdata
- From: Mark Hamburg <mhamburg@...>
- Date: Sun, 12 Sep 2004 17:04:47 -0700
That's sort of what I'm doing right now. I'm not sure what the best approach
is for Lua 5.1.
Mark
on 9/12/04 4:34 PM, Jamie Webb at j@jmawebb.cjb.net wrote:
> On Sun, Sep 12, 2004 at 11:04:43AM -0700, Mark Hamburg wrote:
>> Is there any standard advice on how to manage large, indirect (i.e., the
>> userdata itself stores a pointer to a separate block) userdata? I sometimes
>> find that my application is choking on large, cached pixmaps and textures. I
>> need to have something happen to drive the garbage collector forward or
>> prompt collection in response to the existence of these objects.
>
> Can't you just do it the same way Lua does? I.e. keep your own
> independent byte count and threshold for this data and force a Lua GC
> when an allocation of one of these objects would cause the former to
> exceed the latter. That should work as long as your code continues to
> turn over objects; if there are points where you suddenly have a lot
> of references released, and no new allocations are happening, I
> imagine you could figure out when that is and add extra manual GC
> cycles.
>
> -- Jamie Webb