chicken-users
[Top][All Lists]
Advanced

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

Re: Re[2]: [Chicken-users] Questions on changing Chicken runtime and som


From: felix winkelmann
Subject: Re: Re[2]: [Chicken-users] Questions on changing Chicken runtime and some other stuff
Date: Thu, 22 Dec 2005 09:26:42 +0100

On 12/21/05, John Cowan <address@hidden> wrote:
> felix winkelmann scripsit:
>
> > Once data is in the heap,
> > it is handled in a standard stop-and-copy manner with two semispaces between
> > which data is copied back and forth on every major collection.
>
> So, a classic Baker GC.  The trouble with those is, of course, that really
> long-term data gets copied over and over and over ....  Have you considered
> having a third generation of stuff that survives N semispace flips and then
> is never GCed again?  This would require a write barrier in the second
> generation as well, of course; but this seems to have worked well for
> Smalltalk implementers.

The problem with such an approach is that you can never really be sure
whether some long-living data object is really going to stay forever (imagine
long-running servers). What one *could* do, though, would be to use
conservative GC (i.e. Boehm) for the very long-lived data. Now we just have to
find an extra slot to store a gc-count in...
But you are right: that copying does certainly cost performance and thrashes
caches heavily.


cheers,
felix




reply via email to

[Prev in Thread] Current Thread [Next in Thread]