public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Dale Johannesen <dalej@apple.com>
To: dewar@gnat.com (Robert Dewar)
Cc: Dale Johannesen <dalej@apple.com>,
	kevina@gnu.org, Peter.Sasi@t-systems.co.hu, aj@suse.de,
	gcc@gcc.gnu.org, tjw@omnigroup.com
Subject: Re: [GCC 3.x] Performance testing for QA
Date: Tue, 03 Sep 2002 14:12:00 -0000	[thread overview]
Message-ID: <D0C398A6-BF81-11D6-A404-003065C86F94@apple.com> (raw)
In-Reply-To: <20020903205525.B8861F2941@nile.gnat.com>


On Tuesday, September 3, 2002, at 01:55 PM, Robert Dewar wrote:

> <<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.

One of the SPEC92 benchmarks, eqntott, was dominated by a single 
function
that looped through a linked data structure.  Unrolling the loop the 
right
number of times was critical, but you couldn't figure this out 
legitimately
because the right number of times depended on the data in the structure,
and that was read in from a file.  By the end-of-life of Spec92 every
commercial compiler I know of had special code to recognize this 
function
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...

  parent reply	other threads:[~2002-09-03 21:12 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-09-03 13:55 Robert Dewar
2002-09-03 14:05 ` Kevin Atkinson
2002-09-03 14:12 ` Dale Johannesen [this message]
  -- 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: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:50 Robert Dewar
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=D0C398A6-BF81-11D6-A404-003065C86F94@apple.com \
    --to=dalej@apple.com \
    --cc=Peter.Sasi@t-systems.co.hu \
    --cc=aj@suse.de \
    --cc=dewar@gnat.com \
    --cc=gcc@gcc.gnu.org \
    --cc=kevina@gnu.org \
    --cc=tjw@omnigroup.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).