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: GCC 3.3 compile speed regression - AN ANSWER


> 
> On Wed, 12 Feb 2003, Jan Hubicka wrote:
> > 
> > You can take a look at http://www.suse.de/~aj/SPEC.  It plots such
> > lines.  For SPECint score at -O2, 2.95 did 369, current GCC does 398 and
> > with profile feedback 2.95 didn't supported 410.  This is about 11%
> > speedup. (7.8% in apples-to-apples comparsion witout profile feedback)
> 
> Well, right now suse.de doesn't seem to want to reply to me. I'd like to 
> see what the improvement in the gcc part of the benchmark is, since that's 
> imho the only actually interesting part of SpecInt.

It varies a lot as it is memory bound.  Approximately from 347 to 373.
> 
> But anyway, the improvement in general doesn't seem to be borne out on the 
> kernel.

Yes, that may be the case.  My experimence is that number of parts of
kernel are hand optimized to get assembly out of GCC right.  They are
tuned for whatever version of GCC author has, so it is more dificult to
beat it by new GCC.  Thats why I would be interested in seeing specific
examples as this commonly uncovers stupid mistakes new GCC does.
> 
> > This is not complette image of the development, but I don't see the
> > trend of getting bigger and slower code in post-2.95 releases
> > (I agree that is has commonly been the case for eariler and partly for
> > 3.0 as well).
> > 
> > In case you notice different results, can you give the examples?
> 
> Well, the kerrnel mailing list thread started by Martin Bligh on Feb 3,
> and the thing basically compares kernels compiled with gcc 3.2 with 2.95,
> and finds no improvement (some things imrpoved, others deproved, all in
> the noise).
> 
> But the kernel compile times went up from 46 seconds to 69 seconds (yeah,
> that's on pretty beefy hardware, obviously).

That is serious, of course.  I was unhappy about how 2.95 slow was, so
speed of 3.2 does not make me much happer.  Hope this will get improved
too..
> 
> That said, at least some comparisons with the Intel compiler on an older 
> kernel imply that the Intel compiler improves things like UDP and TCP 
> latency by 10-25% on 2.4.18 (in fact, the UDP path was apparently 
> magically improved by up to 30%, which is damn impressive):

I remember seeing some comparisons to ICC.  They were to profile driven
optimization so not 100% fair.  Anyway it would be nice to know what
makes them faster.
My common experience is that such a large speedups often comes from very
simple changes (better memcpy implementation, inlining of one particular
function or so).  Not sure whether it is the case of kernel code that is
well hand optimized, but usually it is not that dificult to make GCC to
do similar trick.

> So: 50% slower compiles from 2.95 to 3.2. With no noticeable improvement.

For the kernel alone this is possible, yes.  Any feedback about this
would be usefull.

Honza
> 
> 			Linus


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