[gclist] Real-Time GC for high-level languages

Jim Larson jim@sendmail.com
Tue, 30 Jan 2001 11:52:20 -0800


In message <20010130151947.A21052@Samaris.tunes.org> Francois-Rene Rideau
writes:
>Notably, the Boehm GC, the RScheme GC (one of them), the Erlang GC (which?)
>are said to be "soft real-time". What does that mean? When do they fail?

The Open-Source Erlang implementation achieves soft real-time GC
since its runtime is composed of many small "processes" (threads)
exchanging messages.  Each process has its own heap and is GC'ed
independently of the others, and message-passing makes a copy of
any data sent (except for bulk data, which is held in global
reference-counted storage and passed by reference).  Since each
process's heap is small, the GC delay tends to meet soft real-time
needs.

The Erlang GC may exhibit chronic pauses if too much data is live
in a single process.  However, the Erlang programming style
discourages this from happening.

Jim