[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | David.Mentre@i... |
| Subject: | Re: ratio of heap size to live data in Caml GC? |
Norman Ramsey <nr@eecs.harvard.edu> 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.