[comp.lang.c] Implementing LISP in C++

Kai_Henningsen@ms.maus.de (Kai Henningsen) (04/23/91)

bp>One thing to consider doing; When the reference count goes to zero put
bp>the object on a type specific free list. When you need a new object of
bp>a given type try to get it from its type specific free list first.
bp>This way your not always going through the general purpose heap code.
bp>Avoiding the general purpose code can give you a real performance
bp>boost.

There's still another thing: look out for circular data structures. Once you
have a circle in your data, the reference count will *never* go back to zero.
Such storage can only be reclaimed by other methods. (Well, there *is* a way
*if* you *know* that you can throw away such a circle; break up the circle
before "forgetting" it.)

MfG Kai