keith@reed.UUCP (Keith Packard) (06/29/87)
I am looking for references on algorithms for deciding when to garbage collect a non-incremental mark/sweep lisp interpreter. I expect this sort of thing has been well hashed out by many designers of memory management software, but I've been unable to locate any reasonable discussion of the basics. I don't know how important the architecture of the system is, but it's designed for a VM system but doesn't pack memory upon completion so this question is rather important. If memory isn't swept often enough, large gaps will in general exist with the resultant loss of locality-of-reference. But, because the system is not incremental, the cost of calling the garbage-collector is rather substantial. So the obvious solution is a clever algorithm to decide when to GC. keith packard tektronix!reed!keith