peter@yunexus.UUCP (Peter Roosen-Runge) (07/14/88)
We have had the opportunity to explore briefly the Archimedes 310, courtesy of Olivetti Canada, and can report a few preliminary results. The Archimedes 310 uses the ARM (RISC) processor and has 1 Meg of memory. A C compiler identified internally as "Norcroft ARM C" is supplied by the vendor Acorn. The current retail price in Canada for this configuration (1 800K drive, monitor excluded, C included) is $3080 (Can.). We compiled the Sieve benchmark from Byte, June 1988 under this C compiler replacing calls to the Small-C timing functions (gtime() and calctime()) with calls to the standard clock(), which in this case returns a 4-byte clock value in centiseconds (initialized to 0 when the program begins execution.) The result for 100 iterations of sieving through the odd integers from 3 to 16383 is 5.42 seconds.* Comparing this with the June 1988 Byte benchmarks for the sieve: secs. ratio price/performance** Acorn Archimedes + Acorn C 5.42 1 1 Compaq 368/20 + Small-C 23.2 4.3 12.3 Mac II + 68000 Small-C 40.2 7.4 11 PC/AT + Small-C 73.7 13.6 7.1 Mac SE + 68000 Small-C 170.2 31.4 34.5 Mac Plus + 68000 Small-C 200.1 36.9 23.2 Acorn itself publishes some sieve benchmarks based on interpreted Basic (for a single iteration of the sieve over 3500 odd integers) which shows a somewhat smaller relative speed for the Archimedes configuration than the compiled benchmarks do. The ratios are Acorn Archimedes + BBC Basic 1 Compaq 386 + Compaq Basic 2.5 PC/AT + GW Basic 7.3 It is likely that the reduction in the Basic ratios to about 1/2 of the C ratios for the Compaq and PC/AT is due to a greater difference in quality between the Acorn C compiler vs. Byte's Small-C than there is among the three Basic interpreters. *To show the difficulties of creating reliable benchmarks, we note that we can increase the execution time of the sieve loop by 6% (.35 seconds/100 iterations) by merely not linking with the Arthur runtime library, (after substituting the standard getchar() for Arthur's get()), even though the getchar function is never called within the code being timed! ** The price/performance ratios should not be taken too exactly since the Mac prices do not include federal taxes, while the other prices are list; as well the PC/AT price is for an 8 MHz clone. We decided to show the ratios anyway as a matter of principle, because we believe that benchmarks should always be interpreted in the context of configuration costs. The ratios computed by taking the Archimedes as 1 and using estimated minimal Canadian prices for minimal configurations as follows (assuming no cost for the Small-C compiler). Acorn Archimedes + Acorn C $3080 Compaq 368/20 8795 Mac II 4585 PC/AT (clone) 1600 Mac SE 3385 Mac Plus 1938 Comments, criticisms, and additional data would be very welcome. ============================================================================ P. H. Roosen-Runge, Department of Computer Science, York University Toronto M3J 1P3, Ontario, CANADA . . utzoo!nexus!peter ROOSEN@YUSOL.BITNET