[comp.sys.next] C benchmarks for NeXT 040

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