Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!rutgers!mit-eddie!uw-beaver!tektronix!reed!keith From: keith@reed.UUCP (Keith Packard) Newsgroups: comp.lang.lisp Subject: when to garbage collect Message-ID: <6530@reed.UUCP> Date: Mon, 29-Jun-87 03:34:42 EDT Article-I.D.: reed.6530 Posted: Mon Jun 29 03:34:42 1987 Date-Received: Wed, 1-Jul-87 02:59:45 EDT Organization: Reed College, Portland OR Lines: 17 Keywords: mark-sweep, non-incremental 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