Re: GC strategies

Date view Thread view Subject view Author view

From: Godmar Back (gback@cs.utah.edu)
Date: Sat Oct 31 1998 - 16:12:20 EST


 I can also only speak in the "I've been told" form --- hence don't take
what I say as discouraging you from making a breakthrough in gc.

I agree with Alexandre that reference counting gc has come out of fashion
because the constant updating of references is too expensive, for locality
and synchronization reasons. In addition, since reference counts cannot
resolve cycles, you'll still need to have a fully functional gc, which makes
the overhead of paying for the updates of ref counts even more questionable.

I understand that you propose a slight variation of the scheme that doesn't
have to update ref counts as frequently; it seems, however, that the
saving at gc-time might be even less then.

>
> > This would mainly benefit code that uses a lot of transient local
> > variables, for example..
>
> That's the point of using generational garbage collectors. Transient
> objects are collected more often than aged objects. However, whenever
> an aged object is modified so as to point to a young one, the young is
> aged, so as to prevent it from being collected in the set of young
> ones.
>

There is a variation on ref counting described in Paul Wilson's paper.
I think it's called "deferred" counting. The idea is that young and
short-lived objects don't get a ref count. Only if they survive a
given scope (usually an activation frame or so), they'll enter the
set of ref counted objects. This supposedly reduces the frequency of
ref count updates dramatically.

        - Godmar


Date view Thread view Subject view Author view

This archive was generated by hypermail 2b29 : Sat Sep 23 2000 - 19:57:02 EDT