[net.works] MicroVAX I versus 68000

baskett@decwrl.UUCP (Forest Baskett) (11/04/83)

I thought some of you might be interested in some comparative numbers on
the latest microcomputer on the block.  The Pascal referenced is the new
VAXElan Pascal.  The Unisoft C compiler has the reputation locally of
being usually better than other commonly used C compilers on 68000's.
(I'm not sure of this last statement but that's what I keep hearing.)

   MicroVax I	68000, 10MHz, no wait states, floating point subroutines
       Pascal	Unisoft C

perm	  6.6	2.8	all permutations of n things, very recursive (n=7)
towers	  7.1	3.4	towers of hanoi, very recursive
queens	  1.9	1.9	Wirth's 8 queens program, 50 times
intmm	  3.1	8.4	multiply two 100 square integer arrays
mm	  4.4  32.2	multiply two 100 square real arrays
puzzle   17.4  20.7	Baskett's famous puzzle program
quick	  2.1	3.2	Quicksort 50,000 random numbers
bubble	  3.3	4.8	Bubblesort 5,000 random numbers
tree	  9.1	7.4	Insert 50,000 random numbers in an ordered binary tree
fft	  5.7  59.9	FFT of 256 real numbers

Both versions of these programs are nearly identical syntactically and
semantically.  All are sensible but straightforward programs.  There are no
C hacks such as *p++ instead of p[i] or register int i instead of int i.
Thus there is the potential for hand tuning the C versions if you like to
do that sort of thing.  Similarly, the VAXElan Pascal system has an INLINE
facility which has not been exercised here.  The Pascal integers are 32 bits;
the C ints are 16 bits.  The Pascal real is treated differently from the C 
float in the usual way but this difference is clearly dominated by the lack
of floating point hardware or microcode on the 68000.  John Hennessy at
Stanford is responsible for putting together this suite of benchmarks.
These are pure CPU comparisons and may imply nothing about the performance
of the "systems" such CPU's might be in.  All numbers are seconds.

Forest Baskett
Western Research Lab
Digital Equipment Corporation

baskett@decwrl.UUCP (Forest Baskett) (11/08/83)

Oops, I seem to have goofed.  Int's on the 68000 C were 32 bits!
However, the only place where "jsr lmul"'s appeared were in some low
frequency initialization routines because of the random number generator,
in the integer matrix multiply routine were the semantics of the
program explicitly specified a long integer multiply, and in the cosine
subroutine of the fast fourier transform, again for initialization.
So perhaps the comparison was more fair than I had originally imagined.
The programs are available.
(John Leon, thanks for the correction.)

Again not trying to hide my lack of independence
(but trying to be fair and honest),

Forest Baskett
Western Research Lab
Digital Equipment Corporation