#micron p60
Jeff Bowermaster reported here that, when running raytracing benchmarks on code
he recompiled for Alpha on his 150MHz AXP, that it was running 2.4-3.5 times
faster than on his 486DX2/66.
I was going to try to keep my opinions to myself and not rag on Alpha (and RISC
processor's in general) too much. However, now that I've been challenged, I
must speak out<G>!
In the December issue of BYTE, they reviewed two Alpha machines from DEC, The
DEC 3000 Model 300, and the DECPC AXP 150. The model 300 is their low-end Unix
box (64bit external data path and 256K cache) and the DEPCPC AXP is (was?)
there high-end EISA NT file server box (128bit external data path and 512K
cache). Both use the 150MHz AXP chip. Here are the performance figures they
got for them, relative to an NEC 60MHz Pentium machine (index 1.0):
Test MODEL 300 DECPC AXP 150
Numeric Sort 0.82 1.28
String sort 1.59 2.45
Bitfield 2.12 2.5
Emulated floating point 0.99 1.17
Simple floating point 1.00 1.81
Trancendental
floating pont 1.57 1.16
As you can see, even on these low-level benchmarks, the Alpha machines are not
conistantly way-superior to Pentium, especially on floating point, which is
contrary to what most people think.
Also, in PC Mag, of April '93, there is a bar chart on page 138 comparing
various processor's SPECin92 and SPECfp92 marks.
Processor SPECint92 SPECfp92
486DX2/66 32 16
Pentium/66 65 57
Alpha/150 74 126
R4400/(75/150) 82 86
So, at least according to the SPECmarks, the Alpha and R4400 have no super huge
advantage. I think the fact that we are seeing only about a 2X improvement
running 3DS on Pentium instead of 486 indicates that 3DS is really less
floating point bound that everybody had thought (otherwise we would have seen a
3X type improvment). Therefore, since Pentium is closer to the Alpha chips on
integer performance, we will not see these huge increases in performance when
running even natively compiled 3DS on Alpha.
I once personally ran a POV-based benchmark on a 486DX2/66 and several
previous-generation RISC machines (R3000, SPARC2, and Intergraph C400) and the
DX2/66 was just barely beaten by the C400, tied the R3000, and clobbered the
SPARC2. All of these machines had SPECfp92 numbers about double that of the
486, but their integer performances were about the same or worse.
The RISC chips are really good at running benchmarks and code that has been
profiled to generate "hints" for the compiler. I remember when Digital Review
tested the Sparc10, and found the performance on SPECmarks only about 50% as
good as what Sun had claimed. They said they found out they had been using the
compiler "hints" for the wrong version of the compiler. The re-compiled the
with the correct "hints" and got the numbers Sun had claimed. The reported
this in a matter of course fashion, not at all indicating any bewilderment at
the lunacy of the situation!
How often do you have compiler hints for what you are doing in the real world?
These RISC chip designers are always talking about the optimizing the "average"
case. How often is anything that is really important "average"? While RISC
chips like the PPC do static branch prediction (e.g., that the backward branch
is always taken), the Pentium has a branch target cache (remembers which
branches were taken before and which were not). It is therefore able to profile
the code in real time, on the fly, in hardware while it is executing in it's
real-life environment!
Bailey