[mod.computers.apollo] Dhrystone benchmark - DN330 vs. Sun-3

mike@RICE.EDU (Mike Caplinger) (12/23/85)

I just got my 68020 upgrade, taking my Apollo up to a DN330.  One
of the first things I did was run the Dhrystone benchmark on it.
I got a number somewhere around 1700 - about the speed of a VAX/11-780.
Fine and good.

Now I see some Sun-3 results that run in the 3000s!  Are these for real?
Would someone explain to me why the Sun apparently runs almost twice
as fast as a DN330 with an identical processor?

	Mike Caplinger
	mike@bellcore.arpa
	ihnp4!bambi!mike

holtz%cascade.carleton.cdn%ubc.CSNET@CSNET-RELAY.ARPA (Neal Holtz) (12/24/85)

I sure can't say anything about those Sun-3 times, and I am 
curious about it also.  Could it be explained by simply a better
compiler?  

For example, the following table is part of one
circulated in USENET a while back, with times I've added
for various Apollo's.  Note that the Pascal versions run
much faster than the C versions (and likely do things
differently, so one shouldn't draw too many conclusions):

 * MACHINE	PROCESSOR	OPERATING	COMPILER	DHRYSTONES/SEC.
 * TYPE				SYSTEM				NO REG	REGS
 * --------------------------	------------	-----------	---------------
** Apollo DN300 68010-?Mhz      Aegis SR8       cc   r2.39       686      -
** Apollo DN320 68010-?Mhz      Aegis SR9       cc   r3.12       808      -
 * VAX 11/750	-		Unix 4.2bsd	cc		 862	 877
 * VAX 11/750	-		VMS		VAX-11 C 2.0	 958	1091
 * Sun2/120	68010-10Mhz	Sun 4.2BSD	cc		1136	1219
** Apollo DN300 68010-?Mhz      Aegis SR8       pas  r5.65      1332      -
** Apollo DN320 68010-?Mhz      Aegis SR9       pas  r6.59      1349      -
 * VAX 11/780	-		UNIX 5.2	cc		1515	1562
** Apollo DN660                 Aegis SR9       cc   r3.12      2030      -
** Apollo DN660                 Aegis SR9       pas  r6.59      2790      -
 * IRIS 2400T	68020-16.67MHz	Sys5 #14	cc		3105	3401
 * SUN 3/75	68020-16.67Mhz	SUN 4.2 V3	cc		3333	3571
 *

** Apollo times added by N. Holtz, Nov. 29, 1985, from results
   of March 84 version C/2 of Dhrystone (no register variables).

By the way, that figure reported of 1700 looks pretty low for a
DN330 -- I thought they were supposed to be slightly faster
than a DN660.  Were all the 'fast' options turned on? 

I suspect this is not the case (I haven't looked at the dhrystone
benchmark very carefully), but are there some funny optimizations
possible?  For example, when I first tried the following naive
benchmark (out of BYTE + many other places, I believe), I got
incredible (orders of magnitude) speed ups over other machines.

The Apollo compiler quite rightly did all the arithmetic at compile
time, and replaced the 14 statements with 14 MOVE's (but why didn't
it remove the the first 13 moves, at least, plus the loop as well?).
So obviously, this is pretty useless as a benchmark.

#define CONST1  3.1415926
#define CONST2  1.7839032
#define COUNT   10000

main()
{
        double a, b, c;
        int i;

        a = CONST1;
        b = CONST2;
        for (i = 0; i < COUNT; ++i) {
                c = a * b;
                c = c / a;
                c = a * b;
                c = c / a;
                c = a * b;
                c = c / a;
                c = a * b;
                c = c / a;
                c = a * b;
                c = c / a;
                c = a * b;
                c = c / a;
                c = a * b;
                c = c / a;
        }
        printf("Done\n");
}

JW-Peterson@UTAH-20.ARPA (John W Peterson) (12/31/85)

One other question - when you got your DN330 upgrade, did you also get
new compilers for them?  The stock SR9 compilers have some problems on the
020's - I've found bugs in the floating point department, and could easily
believe they might miss some optimisations for the DN330's.  (The easy way
to check is to try "/bin/cc kloo.c -M330" - if it doesn't work you're running
old compilers).

We got our hardware upgrades several weeks ago but had to nag the field 
office for the compiler upgrades.
-------

apollo@ucbvax.UUCP (01/03/86)

Not all M68020's are alike.  Apollo is using the 12.5 MHz version
of the 68020.  Sun is shipping the 16.67 MHz version.  Sun put a
lot of special wrinkles into the Sun 3.  Your numbers are consistent
with numbers they claim as well.  There are many other games you
can play too.  It is not just the processor.  I understand they
played some games with their clock to avoid wait states.  Right now,
the Sun 3 is beating anything Apollo has.  The ball is now in Apollo's
court to see what they will come up with.

Bob Clayton
GE Calma R&D, San Diego