guppy@athena.mit.edu (Harold Youngren) (04/23/91)
I recently did a few C benchmarks on our lab systems comparing them to
my NeXT slab. The benchmark is the Plum-Hall C benchmark, downloaded
from uunet.uu.net in comp.sources.xxx somewhere. The benchmark was
modified slightly to increase the number of iterations for more accurate
timing on our DEC systems (this has no effect on statistics except to
make timing less sensitive).
Plum-Hall C benchmarks (obtained from uunet ftp)
Notes:
benchmarks timed for 10000 iterations for consistency
numbers refer to time/loop derived by total time/ #loops
(i.e. smaller times mean faster...)
register auto auto int function auto
int short long multiply call+ret double
NEXT 040 (no -O) 0.17 0.19 0.21 0.97 0.59 0.50
NEXT 040 (-O) 0.14 0.11 0.14 0.95 0.62 0.31
Sparc 1+ (no -O) 0.16 0.29 0.29 2.75 0.32 0.60
Sparc 1+ (-O) 0.26 0.19 0.14 2.63 0.32 0.32
DEC 3100 (MIPS) (no -O) 0.14 0.40 0.18 0.92 0.27 0.31
DEC 3100 (MIPS) (-O) 0.13 0.21 0.13 0.88 0.27 0.18
DEC 5000 (MIPS) (no -O) 0.0941 0.16 0.11 0.59 0.18 0.14
DEC 5000 (MIPS) (-O) 0.0859 0.12 0.0859 0.59 0.18 0.12
Notes:
Sparc 1+ is a Sun4 (?)
For comparison purposes, the Plum-Hall benchmark came with this table of
other timings...
Machine/compiler register auto auto int func auto
int short long multiply call dbl
AT&T 3B2/05 (-O) 1.36 3.87 2.62 15.4 7.7 22.5
AT&T 3B2/05 (no -O) 1.78 4.66 2.75 16.2 9.3 22.5
AT&T 3B2/400 (-O) 1.09 1.36 1.10 16.2 10.0(?) 91.4
AT&T 3B2/400 (no -O) 1.14 2.61 2.36 17.3 11.3 91.1
AT&T 6386/375 (no -O) 0.61 1.39 1.23 3.85 5.62 6.77
AT&T 6386/375 (-O) 0.52 1.17 0.54 3.68 5.78 7.68
Apollo DN330 (-O) 1.36 .78 1.36 10.17 3.57
Apollo DN330 (no -O) 1.54 1.28 1.54 11.30 3.64
Apollo DN580 (-O) 1.03 .59 1.03 7.67 2.72
Apollo DN580 (no -O) 1.18 .97 1.18 8.48 2.77
Apollo DN660 (_O) 5.88 1.24 5.88 21.86 4.26
Apollo DN660 (no -O) 5.93 1.52 5.93 21.93 4.29
Masscomp 5500 3.18 2.7 4.9 30.8 7.3
Masscomp 5600 (-O) .45 .61 .46 2.83 1.04
Masscomp 5600 (no -O) .46 .78 .64 2.99 1.76
PC/8088 (InstantC) 25.8 25.8 82.0 74.2 152.
PC/8088 (WSL 3.1 lg) 6.18 10.4 66.5 31.8 28.8
Pyramid 90X (-O) .85 1.04 .86 3.64 1.9 2.37
Pyramid 90X (no -O) .86 1.01 .86 3.65 1.8 2.34
Sequent (-O) 1.39 2.99 2.53 9.90 9.3
Sequent (no -O) 1.50 3.25 2.83 9.95 13.2
Sun 3/260HM (-O) .31 .48 .47 1.98 1.16
Sun 3/260HM (no -O) .36 .58 .57 1.99 1.62
Sun 3/75M (-O) .47 .77 .76 3.00 2.12
Sun 3/75M (no -O) .53 .95 .94 3.01 2.73
Sun 3/75M(4.2, -O) .50 .81 .83 2.85 1.5 20.7
Sun 3/75M(4.2, no -O) .54 1.00 1.01 2.97 2.7 21.1
Sun 3/75M(VM, -O) .46 .77 .75 2.96 2.1 20.8
Sun 3/75M(VM, no -O) .52 .96 .93 2.97 2.7 21.1
VAX 11/730 (-O) 4.00 9.80 6.20 16.2 42.8 12.4
VAX 11/730 (no -O) 4.73 10.2 7.45 16.57 51.5 17.0
VAX 11/780 (-O) 1.21 2.43 1.67 2.76 15.04 2.95
VAX 11/780 (BSD 4.2) 1.38 2.42 1.96 2.92 17.2
VAX 11/780 (UNIX 5.2) 1.24 2.48 1.79 2.72 15.7 3.89
VAX 11/780 (no -O) 1.29 2.51 1.85 2.70 16.7 3.89
VAX 11/785 (-O) .93 1.85 1.32 5.00 13.9 47.5
VAX 11/785 (no -O) 1.01 1.96 1.44 5.08 14.2 5.42
VAX 8650(UNIX -O) .236 .484 .298 .589 2.63 .578
VAX 8650(UNIX no -O) .258 .482 .316 .574 3.06 .791
VAX 8650(Ultrix -O) .23 .40 .29 .53 2.4 .56
VAX 8650(Ultrix no -O) .26 .41 .34 .56 2.8 .77
You will note that the new crop of RISC and RISCy/CISC machines are
all quite fast. However, the floating point performance of the 040 with
current system software, although similar to the SPARC, does not match
even DEC's slowest MIPS workstation.
Actually the SPARC does not have a very good C compiler so this
comparison puts them in a worse light than, say a fortran benchmark
where the optimized SPARC f77 compiler checks in with 2.1 Mflops on
the LINPACK vs the NeXT with 1.5 (Absoft f77) or 1.8 (f2c/cc) on
the 040.
Hey, NeXT, when do we get 040 optimized system software?.
Hal Youngren guppy@henry.mit.edu
MIT Aero/Astro CFDL