From: | "Rodney M. Bates" <rodney.bates@wichita.edu> |
Newsgroups: | comp.compilers |
Date: | 4 Jul 2003 00:04:42 -0400 |
Organization: | EarthLink Inc. -- http://www.EarthLink.net |
References: | 03-05-211 03-06-015 03-06-054 03-06-057 03-06-078 03-06-106 03-07-023 |
Keywords: | storage |
Posted-Date: | 04 Jul 2003 00:04:42 EDT |
Eric wrote:
> One of the reasons I
> really fancy reference-counting is its low overhead, but I suspect
> that with a few adjustments to the algorithm, one can add in logic
> that will detect circular links during deallocation.
Actually, as I recall, reference counting has much higher overhead
than all forms periodic tracing GC. Intuitively, it's because it has
to keep track of referenceability all the time, whereas the periodic
collectors can forget about it for a time, then recompute what is
referenceable only occasionally.
Reference counting can operate right down to zero "headroom", i.e.
available space, whereas the others generally need a certain amount of
headroom.
Short of resorting to some kind of hybrid with a tracing algorithm,
I don't believe anyone has ever fixed the cyclic graph problem with
reference-counting.
With this much interest in the subject, you should get the book:
http://www.cs.kent.ac.uk/people/staff/rej/gc.html
http://www.cs.kent.ac.uk/people/staff/rej/gcbook/gcbook.html
It's a good summary of the massive number of published papers on GC,
and would answer a lot of these questions.
--
Rodney M. Bates
Return to the
comp.compilers page.
Search the
comp.compilers archives again.