|
Re: Re[2]: Questions on changing Chicken runtime and some other stuff: msg#00097lisp.scheme.chicken
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. > One point that makes things a bit complicated is dynamic resizing of the > heap (second generation), but basically everything is just stop-and-copy. Adding this third generation would eliminate the need to resize the second generation if you go through and tenure stuff when the Tospace is dangerously full. The third generation of course just grows. -- John Cowan cowan@xxxxxxxx http://www.ccil.org/~cowan Does anybody want any flotsam? / I've gotsam. Does anybody want any jetsam? / I can getsam. --Ogden Nash, No Doctors Today, Thank You |
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: Re[2]: Questions on changing Chicken runtime and some other stuff: 00097, felix winkelmann |
|---|---|
| Next by Date: | Re: Re[2]: Questions on changing Chicken runtime and some other stuff: 00097, felix winkelmann |
| Previous by Thread: | Re: Re[2]: Questions on changing Chicken runtime and some other stuffi: 00097, felix winkelmann |
| Next by Thread: | Re: Re[2]: Questions on changing Chicken runtime and some other stuff: 00097, felix winkelmann |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |