[gclist] why malloc/free instead of GC?

Michael Hicks mwh@cs.umd.edu
Mon, 17 Feb 2003 13:46:51 -0500

A number of performance studies (starting with Zorn in `92, but perhaps
before?) and anecdotal evidence now suggests that there is little reason
to use malloc/free over GC.  Zorn states that the main shot against
conservative GC is that it requires a larger memory footprint (and
actually uses much of it).  Another shot might be the unexpected latency
resulting from GC, foiling soft real-time guarantees.

My question: are there any studies that indicate under what conditions
would benefit from avoiding GC for these reasons (putting aside the
safety benefits of GC)?  For example, what program characteristics would
imply that using BDW would require significantly more memory than would
using malloc/free?  What sorts of programs would incur excessively long
latencies during collection?  I can certainly speculate about the
answers to these questions (and would welcome list readers to do so),
but I am curious if any published or informal studies have been done. 
While Zorn's study points out which benchmark programs require more
memory than others when using BDW, it doesn't go into why that is the
case (as far as I could see on skimming it).