This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: [4.4] Strange performance regression?
- From: francesco biscani <bluescarni at gmail dot com>
- To: Joern Rennecke <joern dot rennecke at embecosm dot com>
- Cc: Mark Tall <mtall dot qld at gmail dot com>, gcc at gcc dot gnu dot org, gcc-help at gcc dot gnu dot org
- Date: Wed, 14 Oct 2009 20:20:25 +0200
- Subject: Re: [4.4] Strange performance regression?
- References: <454c00060910132120n69146247s475e220e3bfe3992@mail.gmail.com> <20091014060547.piwh3b3ggws8gg4o-nzlynne@webmail.spamcop.net>
Hi Joern and list(s),
On Wed, Oct 14, 2009 at 12:05 PM, Joern Rennecke
<joern.rennecke@embecosm.com> wrote:
> He also said that it was a different machine, Core 2 Q6600 vs
> some kind of Xeon Core 2 system with a total of eight cores.
> As different memory subsystems are likely to affect the code, it
> is not an established regression till he can reproduce a performance
> drop going from an older to a current compiler on the same or
> sufficiently similar machines, under comparable load conditions -
> which generally means that the machine must be idle apart from the
> benchmark.
>
I decided to bite the bullet and went back to GCC 4.3.4 on the same
very machine where I'm experiencing the issue. With these flags:
-O2 -march=core2 -fomit-frame-pointer
the performance is the same as on 4.4.1 *with* -funroll-loops
(actually, around 5% better, but probably it is not statistically
significant). So, with 4.3.4, I get the expected *good* performance.
Just to give an order of magnitude, the "good" performance measure is
~5.1-5.2 seconds, while the "bad" performance is ~11-12 seconds for
this test. I ran the tests both on an idle setup (no X, just couple of
services in the background) and with a "busy" machine (Firefox, audio
playing in the background,...) but I could hardly notice any
difference in all cases.
I can try to investigate further if anyone is interested.
Thanks again to everybody,
Francesco
PS: hope I'm not infringing the netiquette by cross-posting to two
mailing lists.