some profiling numbers

Steven Bosscher s.bosscher@student.tudelft.nl
Thu Jun 26 01:46:00 GMT 2003


graydon hoare wrote:

> hi,
>
> I've recently done some profiling and analysis of gcc and g++, using 
> the oprofile hardware-assisted profiling module in linux 2.5. I 
> collected stats on a variety of versions of gcc (some only of 
> historical interest) and some different branches and workloads, and 
> characterized some aspects of the cache and branch-mispredict 
> penalties in addition to cycle hotspots.
>
> the results of the work are posted at
>      http://people.redhat.com/graydon/gcc-optimizing/
>  and http://people.redhat.com/graydon/g++-report/
>
> any comments or questions are welcome (including instructions and 
> hand-holding on how to set up the profiler for your own runs, if you 
> want to do more of this stuff).
>
> -graydon 


Thanks for this interesting investigation.  Too bad you couln't find any 
serious hot spots :-|

According to your build script, you did not bootstrap the compilers you 
tested.  Why? And which compiler did you use to build the tested 
compilers?  Also, your build script does not have --disable-checking, 
but since you apparenly only use released compilers I think that is 
automatic (not sure though).

One thing you point out is that the slowdown is more or less a result of 
GCC just getting bigger.  Does that mean that the extra passes over the 
whole chain of insns or trees may be blamed for much of the slowdown? Is 
there any way to measure how many times different GCC versions walks 
large chains of insns/trees, and where? (Maybe the number of cache 
misses per function or something like that???)

I would be curious to see how mainline does, too...

Gr.
Steven




More information about the Gcc mailing list