Garbage collection algorithms

Klacke klacke@REDACTED
Tue Aug 24 12:21:09 CEST 1999



> I'm a little curious about the garbage collection used in Erlang. The
> question arose in a discussing about using Erlang on "real-time"
> systems. Do you use some fancy incremental or real-time collector?
> 
> I'm mostly ignorant of the Erlang language, but I'm interesting in how
> GC is being used in the Real World(tm).
> 

GC in Erlang is done by a generational collector _per process_.
Each process has its own stack and two heaps, (2 generations)
Once a GC is needed for a process, either a generational or a 
fullsweap collection is performed on that process.

No real time characteristcs are achieved at all since a single process
can grow arbitrarily large. However GC time is bounded by the
size of the largest process in the system. This is dynamic and thus
no *real* real time characteristcs at all.

The generational algorithm applied is classical cheeney but with
two generations. This algorithm is from the mid 60'ies !! i think.


/klacke

Claes Wikström                          Tel: +46 (0)8 692 22 09
Bluetail AB                             Email: klacke@REDACTED
Hantverkargatan 78                      WWW: http://www.bluetail.com
SE-112 38 Stockholm, SWEDEN






More information about the erlang-questions mailing list