[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: GC [was Re: Lua 5.1 (work4) now available]
- From: Mark Hamburg <mhamburg@...>
- Date: Thu, 06 Jan 2005 22:47:08 -0800
I'm still on work3 so I don't seem to have the setincmode option readily
available to me to test.
What I am seeing on statistics running the test-of-the-day with iters = 1000
and listlen = 1000 is the following pattern:
after run: 32566
collect garbage: 18611
master = nil, collect garbage: 4532
collect again: 4527
It's stable after that. (This is with lots of other data allocated so I'm
not surprised that the number stays up.)
Subsequent runs generated similar numbers.
My guess looking at these numbers is that either the nursery is being
allowed to become very large or data is getting prematurely tenured.
on 1/6/05 10:06 PM, Mark Hamburg at email@example.com wrote:
> Interesting graphs. From a separation of concerns standpoint, is there an
> easy way to turn off the generational aspect of the collector?
> In theory, an incremental collector should move forward in proportion to the
> amount of memory being allocated. The faster it moves forward, the more
> overhead it consumes but the faster it should manage to clear out dead data
> For a generational collector, you also need to throw in the issue of how
> fast objects are getting tenured since tenured objects will actually be
> slower to collect. Intuitively, I would think that one would want to drive a
> collector working on the tenured objects forward at a rate proportional to
> the rate at which objects get tenured. But that's just a guess by analogy
> with the simple incremental case.