Version française
Home     About     Download     Resources     Contact us    
Browse thread
Different GCs for OCaml
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Xavier Leroy <Xavier.Leroy@i...>
Subject: Re: Different GCs for OCaml
> By the way, did anybody succesfully applied a different
> GC to OCaml?

I haven't heard of it, and that would be a major undertaking.  It's
like hand surgery: in principle, it is possible to reconnect a hand to
a wrist; in practice, there are so many tendons, nerves and vessels to
reconnect...

> I've tried to add parallelism -- more specifically, to collect
> major heap in a separate thread -- but failed to do so:
> as usually with parallel programs, I've got lots of bugs that
> were just nightmare to track down.

GC bugs are also quite a nightmare...

> So, after two weeks of trying, I just abandoned this, with hope
> to return to this some day. 

Damien Doligez's PhD thesis was precisely on a concurrent collector in
the style of OCaml's collector.  (Actually, this is backwards: the
concurrent collector was designed first, and the current OCaml
incremental GC was derived from it.)  The two POPL papers and the
dissertation available from http://pauillac.inria.fr/~doligez/caml-guts/
give a good idea of how difficult efficient concurrent collection is.

- Xavier Leroy