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