[gclist] Time-stamping objects...
Charles Fiterman
cef@geode.geodesic.com
Mon, 15 Apr 1996 09:41:29 -0500
>
> Hi there!
>
> As you might remember I'm doing research on programming languages,
> especially on Oberon-2.
>
> I recently found a paper about side-effect free functions. It argued
> that you could dynamically ensure side-effect-freeness by time-stamping all
> dynamically created objects, thereby getting more "functional" in the
> framework of an imperative language.
>
> Now, as I find this approach quite good for the "function thing", I was
> wondering if there are efficient GC algorithms that need such a time-stamp
> too. I could thus achieve two goals with one mechanism.
>
> Oberon-2 normally uses mark-and-sweep GCs. I understand that there are
> "generation-based" GC algorithms? Are they "better" than a "simple"
> mark-and-sweep?
Generational collectors eliminate fragmentation and if you have enough
storage are more efficient. In fact as the amount of storage increases
copying collectors approach zero overhead. If you never reach the end
of the space copying collectors have zero overhead. With this in mind
it makes sense to build execution frames on the heap.
As a disadvantage they need more space to be useful and its hard to
interface with things like C that expect stuff to stay put.