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