Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!samsung!uunet!mcsun!unido!ira.uka.de!smurf!artcom0!hb.maus.de!ms.maus.de!Kai_Henningsen From: Kai_Henningsen@ms.maus.de (Kai Henningsen) Newsgroups: comp.lang.c Subject: Re: Implementing LISP in C++ ( Message-ID: <13833@ms.maus.de> Date: 22 Apr 91 19:53:00 GMT Distribution: world,comp Organization: Maus Mailbox Netz - UUCP-Gateway Bremen Lines: 15 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