info-ridge@ucbvax.UUCP (12/11/85)
A benchmark program was developed by Michael Wolfe and Tom Macke of Kuck and Associates, Inc. to measure processor speeds in their particular application environment, which is all integer oriented. Their paper appeared in SIGPLAN Notices 20,11 (November 1985). They report the following times for various VAX models: C CPU times for S1 C N= 50 100 150 200 C 11/730 2.00 16.31 52.34 2:04.42 C 11/750 0.90 6.86 22.75 1:01.40 C 11/780 0.73 5.62 19.45 45.07 C 11/785* 0.70 5.73 20.06 48.00 C CPU times for NS1 C 11/730 3.06 36.56 2:10.76 5:22.40 C 11/750 1.40 11.45 45.91 2:10.39 C 11/780 1.03 12.25 45.62 1:55.03 C 11/785* 0.91 7.51 26.73 1:15.05 C C *run with f77 compiler; all other times are VMS FORTRAN compiler They bemoan the fact that the VAX compilers appear to do a poor job of code optimization. We have run the benchmarks on a Ridge 32, with the high-performance CPU, with both the old Ridge FORTRAN compiler (f77) and the new one (rf). The program was compiled with and without optimization in each case. The results are: s1(50) s1(100) s1(150) s1(200) ns1(50) ns1(100) ns1(150) ns1(200) ------------------------------------------------------------------------------ f77 1.02 8.27 28.13 66.95 1.09 9.16 31.42 75.31 f77 -O .26 2.08 6.98 16.49 .55 4.56 15.29 37.12 rf .79 6.42 21.73 51.53 .97 7.73 25.72 60.35 rf -O .14 1.18 3.98 9.40 .34 2.60 8.23 19.05 These results show an almost incredible difference between the VAX and Ridge performances. The difference is due to the CPU/compiler combination. The results also show the difference between Ridge's old and new FORTRAN compilers. The actual s1 and ns1 routines of Macke and Wolfe are reproduced below for reference: subroutine s1(a, n) integer a(500,500), n do 100 i= 1, n do 100 j= i+1,n do 100 k= 1,n l= a(k,i) m= a(k,j) a(k,j)= l+m 100 continue end subroutine ns1(a,n) integer a(500,500), n do 200 i= 1,n do 200 j= i+1, n do 200 k= 1,n l= a(i,k) m= a(j,k) a(j,k)= l + m 200 continue end