This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: C++ compile-time regressions (was: GCC 3.0.1 Status Report)
- To: pfeifer at dbai dot tuwien dot ac dot at (Gerald Pfeifer)
- Subject: Re: C++ compile-time regressions (was: GCC 3.0.1 Status Report)
- From: Joe Buck <jbuck at synopsys dot COM>
- Date: Mon, 23 Jul 2001 11:10:52 -0700 (PDT)
- Cc: mark at codesourcery dot com (Mark Mitchell), jbuck at synopsys dot com (Joe Buck), gcc at gcc dot gnu dot org (gcc at gcc dot gnu dot org)
I wrote:
> > Gerald, could you test Daniel's change and see if it helps on your code?
>
> Of course! Here we go:
>
> GCC 2.95.3 GCC 3.0 GCC 3.0.1-pre
> Time Size Time Size Time Size
> -O0 6:19 3915128 8:20 4159780 8:00 4159588
> -O1 4:20 4203480 11:40 4829732 7:09 3997668
> -O2 5:56 4209368 14:09 4862532 7:53 3987556
> -O3 5:47 4221464 32:04 6166052 7:54 3987140
>
> The huge compile-time regression is gone, though we are still noticably
> slower than GCC 2.95; and binary size is even better than it used to be.
Elsewhere Gerald posted the size of the preprocessed code:
> % wc -l 2.95/* | grep total
> 472019 total
> % wc -l 3.0/* | grep total
> 575530 total
So the preprocessed code is 21% larger, and for -O0 it compiles 26%
slower. After normalization for lines of preprocessed code, 3.0.1-pre is
only 3.8% slower on a per-line basis than 2.95.3 with optimization off
(normal mode for the typical compile/debug/fix cycle).
Smaller binaries too ... maybe the compiler's going to be OK after all. :-)