[gclist] Name that hypothesis
William D Clinger
will@ccs.neu.edu
Thu, 05 Dec 1996 17:28:05 +0000
Nick Barnes wrote:
> Many generational collectors currently out there will still win for
> the radioactive decay model, because collecting an old generation
> requires scanning all younger generations but collecting a young
> generation only requires scanning the remembered set in the older
> generations.
This is not a win, but a loss. With the radioactive decay
model, and a conventional generational collector, the youngest
generation(s) will usually contain the lowest percentage of
garbage. This is the opposite of the situation that conventional
generational collectors are designed to exploit. By concentrating
its effort on the generations that contains the least garbage, the
collector reclaims the least storage for the most effort, resulting
in a higher amortized gc overhead than would be obtained by a
simple non-generational collector.
The fact that a generational collector can go wrong, even when
it is impossible to predict individual lifetimes at a level
worse than chance, helps to show why a different generational
collector can go right without even trying to predict object
lifetimes.
> But IMO this is not what the "generational hypothesis"
> addresses; this is the subject of the "directional hypothesis" (or
> whatever we decide to call it).
My remarks had absolutely nothing to do with the directional
hypothesis. I am using Henry Baker's radioactive decay model
as an example of a model for which the generational hypothesis
(that the ages of objects can be used to predict which objects
will live longer than others) is false.
For analytical purposes it is convenient to assume that the
directional hypothesis is false also, but that hypothesis has
to do with an effect that Henry calls second order.
My point is that effective generational collection does not
necessarily depend upon the generational hypothesis, nor upon
any of the other hypotheses being discussed.
William D Clinger