Path: utzoo!attcan!uunet!lll-winken!lll-tis!ames!mailrus!cornell!uw-beaver!fluke!ssc-vax!housen From: housen@ssc-vax.UUCP (Kevin Housen) Newsgroups: comp.sys.mac Subject: MacII/Compaq386 comparison Keywords: speed benchmarks Message-ID: <2416@ssc-vax.UUCP> Date: 13 Dec 88 20:32:39 GMT Organization: Boeing Aerospace Corp., Seattle WA Lines: 71 A friend of mine was making some speed comparisions between a Compaq 386 and a Mac II. The results seem a little strange, so I thought I'd see if anyone who knows about the 386 could shed some light on this. The benchmarks were written in Fortran. The MacII version used Absoft's version 2.3/020 Fortran compiler (with the 020/881 switches on). I dont know the details of the Compaq, but I was told it is a 386 with a 387 (running at either 16 or 20 MHz). Unfortunately I dont know anything about the Fortran compiler for the Compaq. Two benchmark programs were run. They are both very short, so I included the source below. The first benchmark solves an ODE, doing a lot of trig functions. On the Mac II this takes about 27 seconds to run. The Compaq ran about a factor of 3 slower than the Mac II (I dont have the exact execution time with me). The second program basically just does a lot of adds of array elements. The Mac II version ran in just over 40 sec. On the other hand the Compaq ran it about 5 times faster (about 8 sec)! Why should there be such a large discrepency (x15) in the execution times for these two cases? Has anyone else tried similar comparisons between the two machines? If so, I'd appreciate hearing about it. I guess this underscores the fact that benchmarks should be taken with a large grain of salt. BTW - this is not intended to start an 020/386 war.... Thanks heaps, Kevin Housen Benchmark #1: c.... program solves ode system y'=x*sin(y+z2)-cos(x2+y/(1.+y2))2 c.... z'=-(y2-x2)*e(-(y+z)2)/(1.+C(abs(x+y+z))) x=0. y=1. z=1. dx=.001 do (kk=1,100000) y1=y+dx*(x*sin(y+z*z)-cos(x*x+y/(1.+y*y))**2) z1=z-dx*(y*y-x*x)*exp(-(y+z)**2)/(1.+sqrt(abs(x+y+z))) y=y1 z=z1 x=x+dx repeat end Benchmark #2: real*4 a(101,101) do (i=1,101) do (j=1,101) a(i,j)=0. repeat repeat do (i=1,101) a(1,i)=1. a(101,i)=0. a(i,1)=1. a(i,101)=1. repeat do (kk=1,50) do (i=2,100) do (j=2,100) a(i,j)=0.25*(a(i+1,j)+a(i-1,j)+a(i,j-1)+a(i,j+1)) repeat repeat repeat end