Re: D.H. Brown: EV7 AlphaServers Deliver Enhanced RAS and Powerful Performance

From: Fred Kleinsorge (my-last-name_at_stardotzko.dec.com)
Date: 07/24/03


Date: Thu, 24 Jul 2003 21:12:34 GMT

Yes. My understanding is that the compiler is smart enough to determine the
specific cicumstances that allow it to safely do an optimization that has
dramatic effects on the benchmark. Of course, the benchmark wasn't trying
to test how well that a specific structure layout could be optimized. And
it's fragile in the sense that the circumstances are very limited (can you
say, nearly tailored for this test) in which it can safely do the
optimization. The uproar is that optimization in general is good, but
optimizing for a specific benchmark using mechanism that can't be applied to
real-world applications is bad -- so did Sun cross that line? A lot of
people think they did - that were it not for this benchmark (and their
scores), they would not have tried to solve this problem. They may have
been within the letter of the rules, but most people trying to use the SPEC
values to compare systems, and compare versions of the same types of systems
see this as chipping away at the legitimacy of the current benchmark
numbers. Of course, Sun's performance still is way behind even with the
optimization - it just took them out of the "not on the same planet" range.

"Robert Klute" <robert_klute_removethis@hp.com> wrote in message
news:moe0ivg0punds6g3en8qqpjp6deb5fr4u5@4ax.com...
> On Thu, 24 Jul 2003 13:42:44 -0400, JF Mezei <jfmezei.spamnot@istop.com>
> wrote:
>
> >Fred Kleinsorge wrote:
> >> The games Sun used in boosting a Spec result are widely known, and have
> >> re-sparc'ed a lively debate on how this type of stuff might be
prevented.
> >> In short, a specific compiler optimization for a very limited type of
> >> application juiced up your numbers.
> >
> >Interesting you would mention this. I strongly suspect that IA64 is far
more
> >guilty of this type of behaviour than SPARC or other chips, simply
because the
> >EPIC concept requires the compiler to do very specific work to make a
program
> >run fast.
>
> Isn't the job of any compiler to do specific work that makes a program
> run fast? Isn't that what all those compiler flags are for? I thought
> the uproar was over the way the Sun compiler modifies data structures to
> optimize the 179.art segment?
>
>
http://www.spec.org/osg/cpu2000/results/res2003q2/cpu2000-20030326-02001.htm
l
>
> See John McCalpin's excellent post in Ace's Hardware for an explanation:
> http://www.aceshardware.com/forum?read=105021973
>
> Basically though, "The huge boost [in 179.art] comes from a combination
> of a large cache and a set of code transformations that convert an array
> of structs into a struct of arrays".



Relevant Pages

  • Re: Why is C# 450% slower than C++ on nested loops ??
    ... The posted benchmark was crucial to ... > compilers generate for the loop and get over with it. ... > additions in the outer loops, which the C# compiler doesn't. ... gotten around to implementing every possible optimization in every language, ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: stack addressing & type nomenclature
    ... and I was able to achieve a nearly 2x speed-up by replacing a local array of size 8 with 8 local variables. ... Was the code, by any chance, compiled without any optimization at all? ... Some of them might not even reside in memory at all, if the compiler decides it can hold a few of them in registers instead. ...
    (comp.lang.c)
  • Re: Why is C# 450% slower than C++ on nested loops ??
    ... >>>way it is in the benchmark is measuring nothing but a compiler's ability to ... >>>optimize nested loops that do more or less nothing. ... C# compiler fails to do this optimization. ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: Brian Kernighan, maybe Im not worthy, maybe Im scum
    ... what experienced programmers do, ... optimization, ... Thugs" ad nauseum fits that a lot more closely than discussing compiler ... be modified outside a loop, and guessing ...
    (comp.programming)
  • Re: Prime number in assembly?
    ... >>As you can see there was NO attempt at optimization, ... the compiler was Borland CommandLine Compiler 5.5 ... For generating a list of primes under ... the array of unsigned with an array of bool, since all you need is a bit. ...
    (alt.lang.asm)