[gclist] Precise GC's performance

boehm.PARC@xerox.com boehm.PARC@xerox.com
Fri, 1 Mar 1996 08:52:51 PST


Darius said:

"Of course, in the real world, YAFL has to free storage. I do agree with
you when saying that manual allocation methods are rarely more efficient
than automatic ones."

I think this is controversial.  It strengthens the previous statement just
enough that I no longer believe it, especially if you include space consumption
as one of the metrics.  I would be impressed if any general purpose garbage
collector could outperform well-implemented manual memory management on an
application with the following characteristics, or even most of them:

1) Average object size > 100 bytes.
2) Some ramp-like allocation behavior.  Several megabytes are allocated before
any of it is dropped.
3) High update rates.
4) Several megabytes of live data.
5) Single-threaded.

I claim none of these characteristics are rare in standard commercial
applications.  (1), (3), (4) and (5) are fairly typical.  (2) is typical for
any program that reads large files into an in-memory data structure.  The
combination of all 5 is probably not uncommon.

This doesn't mean that garbage collection shouldn't be used with such an
application.  But it may mean that even the garbage collected version will need
some performance tuning, and possibly manual memory management for large
blocks.

Hans