This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: some profiling numbers


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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]