GCC 3.3 compile speed regression

Nathanael Nerode neroden@twcny.rr.com
Wed Feb 12 08:30:00 GMT 2003


 >On Tue, 11 Feb 2003, Matt Austern wrote:
 >
 >> All of my measurements suggest that improving the speed of 
 >>optimization
 >> phases is irrelevant.  What's slow is the front end: parsing and
 >> semantic analysis.  -O0 compilations are slow, not just -O3.

 >The -fsyntax-only figures posted
 ><http://gcc.gnu.org/ml/gcc/2003-02/msg00488.html> show it is not the 
 >front
 >end; -O0 -fsyntax-only has become faster, while the time for >unoptimized
 >code generation (the time for -O0 minus that for -O0 -fsyntax-only) has
 >doubled between 2.95 branch and mainline and the times to optimize have
 >become worse as well.  (This is for the C front end.)  (In absolute 
 >terms,
 >the front end may still count as slow, but not if what you're comparing
 >with is GCC 2.95.)
 >
 >--
 >Joseph S. Myers

There's a closely related problem which I've hit every time I try to 
debug a 'blow-up' in compilation time, and I believe this is the true 
source of slowdowns at -O0.  A lot of stuff is being computed -- *even 
at -O0* -- which is only used for optimization passes.  This is simply 
wrong behavior.  Data which is only used for optimization should not be 
computed at -O0, since it just gets thrown away anyway.

I can't remember the exact examples right now.  But the upcoming cleanup 
of toplev.c should make these cases a lot more obvious. :-/

--Nathanael



More information about the Gcc mailing list