[Gc] Generational collection performance disaster

Ben Hutchings ben.hutchings at businesswebsoftware.com
Wed Apr 6 04:50:26 PDT 2005


Ralph Becket wrote:
<snip>
> Recently we tried using the incremental/generational collection mode and
> observed a *68% slow down* on a benchmark compiling a few large Mercury
> modules.
<snip>
> So I have a few questions that I'd like to pose to the boehm_gc experts.
 >
> (1) What happened here with the performance?

Don't know.  Which VDB implementation are you using?  Do you adjust any 
GC settings from the defaults?

> (2) Mercury is a purely declarative language and as such Mercury
> programs tend to allocate large numbers of small heap cells (I'd expect
> the vast majority of them to be just two words in size) that, once
> initialised, are never changed in any way (there are a few, rare
> exceptions to this rule, e.g., for arrays).  Is there any way boehm_gc
> can/could be made to take advantage of this characteristic?
<snip>

We have implemented a language with similar heap behaviour (I think) and 
haven't noticed a slowdown after enabling incremental GC.

Ben.


More information about the Gc mailing list