Re: my garbage collector sucks
"Mark Hahn" <[email protected]>
| Newsgroups | gmane.comp.lang.prothon.user |
|---|---|
| Message-ID | <[email protected]> |
Roger Binns wrote: > You may want to read some of Dan's stuff (he is implementing Parrot) > at > > http://www.sidhe.org/~dan/blog/archives/000324.html > > http://www.sidhe.org/~dan/blog/archives/000323.html > That is some really good stuff. I've selected points that grabbed my attention. 1) I want tracing without stop the world, dammit. Pity I can't have it. :( This was his first point. I have continuous tracing (mark and sweep) due to my locking objects. He must have to stop the interpreter when he garbage collects because Parrot doesn't have locking objects. 2) refcount is good for low mutation rates, tracing for high mutation rates This is interesting. It leads to the combined scheme mentioned next: 3) Ulterior ref counting; Trace the nursery, refcount the mature space I myself think this would be an argument for just tracing, since when using generation-based tracing you are effectively running only on the nursery. 4) All realistic collectors are a trace/refcount hybrid I find this hard to believe. Other things I read earlier today didn't even mention hybrids. The more I study up on this the more I'm convinced that for Prothon, a generational mark-and-sweep (tracing) garbage collector is the way to go. I need to make it generational and add other cache-enhancement features when I get to the optimizing phase of development.