Garbage collection

David Gould <>
Wed Sep 1 20:47:39 CEST 1999

On Wed, Sep 01, 1999 at 09:10:51AM +0200, Ulf Wiger wrote:
> On Mon, 30 Aug 1999, Vlad Dumitrescu wrote:
> vlad.d>>Did this discussion start because someone was unhappy with
> vlad.d>the performance >of the Erlang garbage collector or is it
> vlad.d>pure (though interesting)  >conjecture about how to speed up
> vlad.d>the system?  >
> vlad.d>
> vlad.d>I started it, and it is on the "to do" list at, so
> vlad.d>I suppose someone has experienced slow collections...
> The main problem, as I see it, with the current collector is that it blocks
> the entire runtime system when it starts collecting for one process. Thus,
> the GC may be per-process, but all other processes have to wait.
> Otherwise, the current collector seems pretty fast. Most GC times are very 
> short, and we have determined that the AXD 301 spends something like 5% of 
> its CPU resources on GC when going full blast with connection handling.
> (This after we have used a few tricks like custom heap size.)
> I have seen collections as long as 1 second on a 300 MHz UltraSPARC, but
> those are extremely rare and have appeared under very special circumstances
> -- with rapidly growing heap and no data that could be released. As I
> recall, it also involved a first attempt at generational GC, followed by a
> fullsweep GC with a resize of the heap in the middle.
> Even such GC times are reasonable as long as they don't make the whole
> system unresponsive. This is why I would like to see an effort to make the
> collector reentrant.
> /Uffe
> Ulf Wiger, Chief Designer AXD 301      <>
> Ericsson Telecom AB                          tfn: +46  8 719 81 95
> Varuvägen 9, Älvsjö                          mob: +46 70 519 81 95
> S-126 25 Stockholm, Sweden                   fax: +46  8 719 43 44

I might be interested in working on this. I am curious to know what has
prevented this in the past, the GC itself seems fairly compact and looks
(ok, I only spent 10 minutes peeking at it) fairly clean.

Also, any thoughts on how to proceed or things I need to be aware of outside
gcc.c are welcome.

David Gould                       510.628.3783 or 510.305.9468 
Informix Software                       300 Lakeside Drive  Oakland, CA 94612
You will cooperate with Microsoft, for the good of Microsoft
and for your own survival.                 -- Navindra Umanee

More information about the erlang-questions mailing list