From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id TAA17168 for caml-red; Wed, 4 Oct 2000 19:13:14 +0200 (MET DST) Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id MAA20583 for ; Wed, 4 Oct 2000 12:14:29 +0200 (MET DST) Received: from air.irisa.fr (air.irisa.fr [131.254.60.130]) by nez-perce.inria.fr (8.10.0/8.10.0) with ESMTP id e94AETX06334 for ; Wed, 4 Oct 2000 12:14:29 +0200 (MET DST) Received: from parate.irisa.fr (parate.irisa.fr [131.254.12.25]) by air.irisa.fr (8.9.3/8.9.3) with ESMTP id MAA18851; Wed, 4 Oct 2000 12:14:28 +0200 (MET DST) To: Norman Ramsey Cc: caml-list@inria.fr Subject: Re: ratio of heap size to live data in Caml GC? References: <200010032150.RAA26734@labrador.eecs.harvard.edu> From: David.Mentre@irisa.fr (David=?iso-8859-1?q?_Mentr=E9?=) Date: 04 Oct 2000 12:14:28 +0200 In-Reply-To: Norman Ramsey's message of "Tue, 3 Oct 2000 17:50:09 -0400" Message-ID: User-Agent: Gnus/5.0805 (Gnus v5.8.5) Emacs/20.6 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: weis@pauillac.inria.fr Norman Ramsey writes: > I assume this means the collector is a mark-and-sweep collector? As far as I have understood, the collector is a combination of a mark&sweep (at major collection) and of a generation (at minor collection) collectors. You'll find a description of this collector, unfortunatly in french, on this web pages : http://www.pps.jussieu.fr/Livres/ora/DA-OCAML/book-ora088.html I *think* you'll find a close description of the actual GC in the following paper. As I haven't read thise papers, you are on your own : Damien Doligez, Xavier Leroy. "A concurrent, generational garbage collector for a multithreaded implementation of ML". Proceedings POPL 93. http://pauillac.inria.fr/~xleroy/publi/concurrent-gc.ps.gz This paper presents the design and implementation of a ``quasi real-time'' garbage collector for Concurrent Caml Light, an implementation of ML with threads. This two-generation system combines a fast, asynchronous copying collector on the young generation with a non-disruptive concurrent marking collector on the old generation. This design crucially relies on the ML compile-time distinction between mutable and immutable objects. (BibTeX reference.) Hope it helps, d. -- David.Mentre@irisa.fr -- http://www.irisa.fr/prive/dmentre/ Opinions expressed here are only mine.