gcc 3.3 garbage collector defaults

Matt Austern austern@apple.com
Wed Jan 29 18:50:00 GMT 2003


On Wednesday, January 29, 2003, at 03:44 AM, Richard Earnshaw wrote:

>>> That's not quite a test of how much memory gets allocated,
>>> but, if we've turned off the collector, it shouldn't be so very
>>> different.  If allocation patterns have changed, looks like the
>>> change is something more subtle.
>>
>> Could it be a cache thrashing due to different usage patterns? Should 
>> be
>> easy to check for using a tool like oprofile on linux, which can
>> report the hardware cachemiss counters.
>>
>> Or you could run it in cachegrind.
>
> We've been through this discussion before, but let me try and add some
> diagrams that show why I think the GC model is leading to poor 
> performance.

       <technical arguments snipped>

I find these arguments plausible (hard data backed up by measurements
would be nice, of course).  However, I don't think they're directly 
relevant
to the problem we're looking at right now.  Two semi- or non-technical
points:

First, I don't see us getting rid of the garbage collector for the 3.3 
release.
I can just barely imagine getting rid of the garbage collector in some
future release if we decide that it's very important to do so, but a 
major
destabilizing change like that for something where a release branch
has already been cut?  No way.

Second, we already had a garbage collector in 3.2.  The regression we're
seeing isn't because a garbage collector was introduced---that happened
a long time ago---but because something in the garbage collector, or in 
the
way it's used, got changed recently.  Finding what changed between 3.2
and 3.3 is our immediate need.

			--Matt



More information about the Libstdc++ mailing list