public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Re: [GCC 3.x] Performance testing for QA
@ 2002-09-02 15:50 Robert Dewar
  0 siblings, 0 replies; 19+ messages in thread
From: Robert Dewar @ 2002-09-02 15:50 UTC (permalink / raw)
  To: dewar, tjw; +Cc: Peter.Sasi, aj, gcc

<<   (It's also great to have a bunch of scientific code as benchmarks,
but code that Joe Bob might use should make an appearance too).
>>

There is of course the Livermoor Loops benchmark in this area ...

^ permalink raw reply	[flat|nested] 19+ messages in thread
* Re: [GCC 3.x] Performance testing for QA
@ 2002-09-03 14:25 Robert Dewar
  0 siblings, 0 replies; 19+ messages in thread
From: Robert Dewar @ 2002-09-03 14:25 UTC (permalink / raw)
  To: dewar, kevina; +Cc: Peter.Sasi, aj, gcc, tjw

<<Than you need to use a wide variety of encoders to avoid this problem.
Also since the source code for gcc is freely available such a thing will
not go unnoticed for long. I seams that you are trying to say that making
tight loops run fast is a pointless exercise by the compiler.  If a large
number of programs tend to use a particular type of loop than optimizing
for those loops would be a huge win in terms of performance.
>>

There are plenty of benchmarks in SPEC and in other standard suites that
have tight loops. So you are misinterpreting my remarks entirely.

The point is that benchmarks are designed to be good as benchmarks, the issue
of whether they perform a useful calculation that lots of people run a lot of
the time is quite besides the point. I would guess that you have not even
studied the SPEC suite closely before you made remarks about it :-)

^ permalink raw reply	[flat|nested] 19+ messages in thread
* Re: [GCC 3.x] Performance testing for QA
@ 2002-09-03 14:15 Robert Dewar
  0 siblings, 0 replies; 19+ messages in thread
From: Robert Dewar @ 2002-09-03 14:15 UTC (permalink / raw)
  To: dalej, dewar; +Cc: Peter.Sasi, aj, gcc, kevina, tjw

<<and unroll it the right number of times (in some cases, by emitting
canned
assembly as you suggest).  The benchmark was removed in later SPEC's...
>>

And of course the breaking of Matrix300 is a legend in benchmarking history :-)

^ permalink raw reply	[flat|nested] 19+ messages in thread
* Re: [GCC 3.x] Performance testing for QA
@ 2002-09-03 13:56 Robert Dewar
  0 siblings, 0 replies; 19+ messages in thread
From: Robert Dewar @ 2002-09-03 13:56 UTC (permalink / raw)
  To: dewar, kevina; +Cc: Peter.Sasi, aj, gcc, tjw

<<Now of course doing things this blatantly would be considered cheating, but
in practice you can do things almost this outrageous in a much more
reserved and non-obvious way.
>>

By the way, some company made a video board for the PC that had a special
bit map built into the ROM that happened to be a string something like
"PC Video Font Benchmark Test" in some particular font, predecoded. 
PC Magazine was not amused when they discovered this :-)

^ permalink raw reply	[flat|nested] 19+ messages in thread
* Re: [GCC 3.x] Performance testing for QA
@ 2002-09-03 13:55 Robert Dewar
  2002-09-03 14:05 ` Kevin Atkinson
  2002-09-03 14:12 ` Dale Johannesen
  0 siblings, 2 replies; 19+ messages in thread
From: Robert Dewar @ 2002-09-03 13:55 UTC (permalink / raw)
  To: dewar, kevina; +Cc: Peter.Sasi, aj, gcc, tjw

<<The type of operations that encoder decoders use (lots of arithmetic and
data movement) should somehow be incorporate as a benchmark test gcc
should optimize for.  The ideal goal would be to make the code fast enough
that hand written assembly would not be necessary.  Thus using an encoder as
a benchmark would be beneficial.  Even if it concentrates on tight loops.
>>

You need to remember that it is trivial to make a compiler make any ONE
simple program as fast as optimal assembly language.

How? Simply by recognizing the program, and saying "ah ha, this is program
number 234c, so replace it by the super efficient asm that Joe wrote".

Now of course doing things this blatantly would be considered cheating, but
in practice you can do things almost this outrageous in a much more 
reserved and non-obvious way.

So a benchmark that has a single inner loop that takes most of the time
is almost always a bad idea.

^ permalink raw reply	[flat|nested] 19+ messages in thread
* Re: [GCC 3.x] Performance testing for QA
@ 2002-09-03 13:36 Robert Dewar
  2002-09-03 13:41 ` Kevin Atkinson
  0 siblings, 1 reply; 19+ messages in thread
From: Robert Dewar @ 2002-09-03 13:36 UTC (permalink / raw)
  To: dewar, kevina; +Cc: Peter.Sasi, aj, gcc, tjw

<<However, encoding/decoding (especially encoding) is one area were speed
really matters.  Encoding in real time (with out sacrificing quality) is
still not passable with many codecs except on the newest machines.
Unfortunately, because video work is so computationally extensive significant
portions of the code are often rewritten is assembly to take advantage of
MMX etc instructions that many compilers do not produce normally.  This
means that that pure C versions may not exist or if they do they are not
coded optimally.
>>

This is all true.

But what does it have to do with being a good benchmark?

Nothing as far as I can see.

^ permalink raw reply	[flat|nested] 19+ messages in thread
* Re: [GCC 3.x] Performance testing for QA
@ 2002-09-03 13:25 Robert Dewar
  2002-09-03 13:31 ` Daniel Jacobowitz
  0 siblings, 1 reply; 19+ messages in thread
From: Robert Dewar @ 2002-09-03 13:25 UTC (permalink / raw)
  To: dalej, dewar; +Cc: Peter.Sasi, aj, gcc, tjw

<<Since the benchmark gcc is never fed any erroneous source while running
the benchmark, none of the error-handling stuff is ever executed.  With
profile-based optimization it's possible to move a lot of that stuff so
it never gets paged in; that's a significant win.  The same conditions
don't apply when running gcc normally, so this is fairly artificial.
>>

Why would it be paged in if it is not executed?

^ permalink raw reply	[flat|nested] 19+ messages in thread
* Re: [GCC 3.x] Performance testing for QA
@ 2002-09-02 15:49 Robert Dewar
  2002-09-03 10:32 ` Dale Johannesen
  2002-09-03 11:17 ` Kevin Atkinson
  0 siblings, 2 replies; 19+ messages in thread
From: Robert Dewar @ 2002-09-02 15:49 UTC (permalink / raw)
  To: dewar, tjw; +Cc: Peter.Sasi, aj, gcc

<<   I only reason I think its nice to have the compiler bootstrap as part
of the benchmark is to make sure that the compiler is fast.  Instead, I
think it would be more interesting to see how fast the compiler could
build all the other benchmarks -- not how fast it could build itself :)
>>

I disagree, gcc is a very interesting benchmark because of its locality
patterns. It precisely is NOT a collection of tight loops, and unlike
some of the other tests in SPEC, it is very hard to tune a compiler 
to do artifically well on the gcc benchmark.

Of course you want a big collection of benchmarks, and actually we advise
users of GNAT to always test on their own code rather than benchmarks,
but GCC is probably one of the better benchmarks around. 
The trouble with the encoder/decoder examples is that they tend
to concentrate on specific inner loops. That means that they are
much more open to subversion (although interestingly, GCC is probably
the one compiler where there is NOT a lot of effort spent specifically
on getting benchmarks to work better).

^ permalink raw reply	[flat|nested] 19+ messages in thread
* Re: [GCC 3.x] Performance testing for QA
@ 2002-09-02 14:47 Robert Dewar
  2002-09-02 15:42 ` Timothy J. Wood
  0 siblings, 1 reply; 19+ messages in thread
From: Robert Dewar @ 2002-09-02 14:47 UTC (permalink / raw)
  To: Peter.Sasi, aj; +Cc: gcc

> Dear GCC people,
>
> Allow me the humble question to ask you if it would possible to
> employ a simple yet efficient testing method from real life as
> opposed to the SPEC* (artificial) test?


Interesting that someone should think that the gcc compiler is an
artificial test (it is one of the SPEC tests :-)

^ permalink raw reply	[flat|nested] 19+ messages in thread
* [GCC 3.x] Performance testing for QA
@ 2002-09-02  6:12 Sasi Péter
  2002-09-02 14:08 ` Andreas Jaeger
  0 siblings, 1 reply; 19+ messages in thread
From: Sasi Péter @ 2002-09-02  6:12 UTC (permalink / raw)
  To: gcc; +Cc: mplayer-dev-eng

Dear GCC people,

Allow me the humble question to ask you if it would possible to employ a simple yet efficient testing method from real life as opposed to the SPEC* (artificial) test?
Specifically I was thinking of running a few encoding/decoding/manipulation runs with mplayer on sample multimedia streams.

Main reasons I could think of are:
- Easy to test: all you need (sources, sample files) is available free at www.mplayerhq.hu (for Linux(intel, alpha), Solaris, Irix, etc.)
- Important for masses: it is one of the most widely used free software in the area gaining probably the most momentum nowadays (amongst performace hungry software)
- There is a lot of space for improvements: even the 2.95 series perform better than the ongoing 3.x series, but if going for the long term Intel's compiler currently wins hands down

I know it is not a very scientific measurement, still it does apply to a lot of people, andd is a reason why a lot of people still stick to the older versions.
New features are really an important thing to have, still they should not make it instead of the good performance, but exploiting it.

Summarizing the above:
- Do you think such measurements are feasible/worth and can supply usable input for the development?
- Do you lack the interest, the resources, or what else?
- Ifyou are not interested, is there a reasoning behind that? (point me to RTFM if applicable)
- In case of positive answers do you think profiling, code analysis or what else could be the way to improve the current situation? (get 3.x to the perf. level of 2.95.x)

Please CC my personal address in your reply, since I am not subscribed to any of your mailing lists.

Thank you for your precious time.

Best regards,

Peter
-- Sasi Péter                   E-mail:  peter.sasi@t-systems.co.hu 
   Sr. Systems Engineer       Internet: <http://www.t-systems.co.hu/> 
   T-Systems Unisoftware Ltd.              Phone:  +36 (1)  456 54 13 
   Hungary                                 Fax:    +36 (1)  456 54 99 
Postal address: H-1453 Budapest 92, Pf.28. Mobile: +36 (30) 280 34 31 
Address: H-1097 Budapest, Könyves Kálmán krt. 12-14. 3.em., Lurdy-Ház 

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2002-09-03 21:28 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-09-02 15:50 [GCC 3.x] Performance testing for QA Robert Dewar
  -- strict thread matches above, loose matches on Subject: below --
2002-09-03 14:25 Robert Dewar
2002-09-03 14:15 Robert Dewar
2002-09-03 13:56 Robert Dewar
2002-09-03 13:55 Robert Dewar
2002-09-03 14:05 ` Kevin Atkinson
2002-09-03 14:12 ` Dale Johannesen
2002-09-03 13:36 Robert Dewar
2002-09-03 13:41 ` Kevin Atkinson
2002-09-03 13:25 Robert Dewar
2002-09-03 13:31 ` Daniel Jacobowitz
2002-09-03 14:28   ` Jan Hubicka
2002-09-02 15:49 Robert Dewar
2002-09-03 10:32 ` Dale Johannesen
2002-09-03 11:17 ` Kevin Atkinson
2002-09-02 14:47 Robert Dewar
2002-09-02 15:42 ` Timothy J. Wood
2002-09-02  6:12 Sasi Péter
2002-09-02 14:08 ` Andreas Jaeger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).