Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!mailrus!ames!pasteur!helios.ee.lbl.gov!nosc!marlin!aburto From: aburto@marlin.NOSC.MIL (Alfred A. Aburto) Newsgroups: comp.arch Subject: NSIEVE results Keywords: sieve benchmark Message-ID: <1084@marlin.NOSC.MIL> Date: 22 Sep 88 23:24:28 GMT Expires: 30 Oct 88 07:00:00 GMT Reply-To: aburto@marlin.nosc.mil.UUCP (Alfred A. Aburto) Followup-To: comp.arch Distribution: na Organization: Naval Ocean Systems Center, San Diego Lines: 99 ---------- These are the NSIEVE (Sieve Of Eratosthenes) results I have at this time. I have also updated NSIEVE.c. Added 'free(ptr)' to the SIEVE() routine. The program was not freeing allocated memory previously. Added error checks based on the number of primes found for each array size. Program will not bomb if 'malloc()' returns null pointer. Also added timer routine for Microsoft C. I didn't change the Unix timing routines as I think it is probably better to have the user confirm/input the right 'HZ' values and this is usually in the 'times()' documentation file. Also whileshould contain the right 'HZ' or 'COUNTS' values this may not always be the case (neither HZ or COUNTS were defined in our system so I had to input it anyway). Sorry about the 'Primes/sec' output but some people seem to prefer this over just the RunTime output. So anyway there is a 'Primes/sec' output now (calculated as Primes/sec = 1899 / ( Average RunTime(sec) ) ). I'll repost NSIEVE week. NSIEVE (Scaled to 10 Iterations): Array Size --------------------RunTime(sec)---------------------------- (Bytes) 1 2 3 4 5 6 Amdahl Amdahl McCray MIPS McCray Sun 3/280 5890 5890-300E Amd 29000 R2000 AMD 29000 68020 (gcc) (cc) BTC ON M/120 BTC OFF (cc) 8191 0.033 0.050 0.116 0.130 0.183 0.267 10000 0.050 0.083 0.150 0.150 0.200 0.300 20000 0.117 0.133 0.300 0.320 0.450 0.650 40000 0.200 0.300 0.616 0.630 0.900 1.333 80000 0.483 0.683 1.233 1.270 1.816 2.917 160000 1.200 1.533 2.633 2.580 3.833 7.833 320000 2.583 3.333 5.300 5.570 7.680 17.600 Average RunTime With Respect to the 8191 size array: 0.049 0.067 0.126 0.131 0.185 0.315 Primes/sec: 38755 28343 15071 14496 10265 6029 Array Size ----------------------RunTime(sec)------------------------------ (Bytes) 7 8 9 10 11 VAX 8600 Turbo-Amiga Amiga Z-248 Z-248 (12.5 MHz) (14.32 MHz) (7.16 MHz) (8.00 MHz) (8.00 MHz) 68020 68000 80286 80286 (small) (huge) 8191 0.267 0.480 2.297 4.830 5.660 10000 0.383 0.582 2.801 5.930 6.970 20000 0.800 1.180 5.699 12.030 14.170 40000 1.767 2.359 11.539 24.380 28.670 80000 3.800 4.820 23.340 ------ ------ 160000 8.167 9.726 47.180 ------ ------ 320000 17.733 19.660 95.262 ------ ------ Average RunTime With Respect to the 8191 size Array: 0.362 0.489 2.362 4.902 5.761 Primes/sec: 5245 3883 804 387 330 (1) Amdahl 5890, Using GCC (compiled with 'gcc -S -O -DUNIX nsieve.c'). From Chuck Simmons at Amdahl, Sunnyvale CA. (2) Amdahl 5890-300E, SYS V Unix, cc -O nsieve.c From Chuck Simmons at Amdahl, Sunnyvale CA. (3) AMD 29000 at 25 MHz. Branch Target Cache (BTC) was ON. Metaware High C 29000 V2.1 with -O option. No effective memory wait states. Memory was all physical (i.e., No cacheing). From Trevor Marshall, BIX 'supermicros/bench #925', 07 Sep 1988. (4) MIPS R2000 in M/120, 16.7 MHz, 128K Cache, low-latency memory system. From John Mashey at MIPS, Sunnyvale CA. (5) AMD 29000 at 25 MHz. Branch Target Cache (BTC) was OFF. Metaware High C 29000 V2.1 with -O option. No effective memory wait states. Memory was all physical (i.e., No Cacheing). (6) SUN 3/280, 68020 at 25 MHz. Compiled with 'cc -O nsieve.c'. The ICache was ON. (7) VAX 8600, 12.5 MHz. Compiled with 'cc -O nsieve.c'. (8) Amiga with 68020 at 14.32 MHz, 32-bit memory at 14.32 MHz. Compiled with Manx Aztec C V3.4B using 'cc +2 +L +ff nsieve.c'. The ICache was ON. (9) Amiga with 68000 at 7.16 MHz, 16-bit memory at 7.16 MHz. Compiled with Manx Aztec C V3.4B using 'cc +L +ff nsieve.c'. (10) Zenith Z-248, 80286 at 8.00 MHz. Turbo C with 'small' option set. Compiled for 'speed'. Used Registers, register optimization, and jump optimization. (11) Zenith Z-248, 80286 at 8.00 MHz. Turbo C V1.0 'huge' option set. Compiled for 'speed', used registers, register optimization, and jump optimization. Al Aburto. aburto@marlin.nosc.mil.UUCP 'ala' on BIX