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
while  should 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