GC performance - was Re: [gclist] GC topics
Darius Blasband
darius@phidani.be
Wed, 21 Feb 1996 18:13:03 +0100 (MET)
>
> > In any case, I think we agree on the fact that precise GC is far easier,
> > and globally more reliable and faster than conservative GC's...
>
> This is completely wrong. Precise garbage collection, especially
> in the presence of an uncooperative compiler, is quite hard indeed.
> The Boehm-Weiser collector is as close to plug-and-play as you can
> hope to find, and I've ported it (easily) in the past, and I've written
> a conservative garbage collector from scratch in relatively little
> time. Even when I think about making a compiler more cooperative,
> my paper designs still involve use of a conservative, or somewhat
> conservative, collector.
>
> speaking for myself,
>
> David Chase
>
>
Before I get another dozen of messages telling me how wrong I can
be:
- I was referring to implementing a GC within a compiler. I am not
talking about uncooperative environments, for which I do not
think that any other solution than conservative GC can be implemented.
- While it can be a pragmatic issue, I don't believe that the ability
to plug a GC in an existing system tells much about how easy it
can be to implement one.
- Quite amazingly, no one seems to mention the possible advantages of
precise GC. It is more portable (or at least, this is what my experience
seems to tell, even on esoteric architectures such as an IBM mainframe),
and I guess (no data available...) that the actual GC process can be much
efficient, since it knows where usable data is, it does not have to guess.
Then, in mission-critical environments (not referring to real-time), my
(admittedly, personal) opinion is that the risk of erratic behaviour
of conservative GC might be a little bit too much to endure, even if
this risk happens to be pretty small in practice.
I don't know. Is there anything basically stupid in what I wrote ?
Regards...
Darius