[comp.arch] Sparc strangeness

bruce@tcom.stc.co.uk (Bruce Munro) (09/26/90)

Here at STC we've just acquired some news Sparcstation 1+ workstations
and a SparcServer 4/490. I was demonstrating the relative speed of
these machines against our Sun-3's using a simple benchmark program
based on the Sieve of Eratosthenes.

The program calculates prime numbers using a progressively larger
array. Here's the output from the program for the Sparcstation first,
then the server:

   Sieve of Eratosthenes (scaled to 10 Iterations)

   Array Size   Primes   Last Prime   BenchTime
    (Bytes)     Found                   (Sec)
      8191        1899        16381       0.100
     10000        2261        19997       0.150
     20000        4202        39989       0.300
     40000        7836        79999       0.550
     80000       14683       160001       1.167
    160000       27607       319993       2.400
    320000       52073       639997       4.817
    640000       98609      1279997       9.800
   1280000      187133      2559989      19.767
   2560000      356243      5119997      40.367

   Relative to 10 Iterations and the 8191 Array Size:
   Average BenchTime =    0.121 (sec)

   Sieve of Eratosthenes (scaled to 10 Iterations)

   Array Size   Primes   Last Prime   BenchTime
    (Bytes)     Found                   (Sec)
      8191        1899        16381       0.067
     10000        2261        19997       0.067
     20000        4202        39989       0.167
     40000        7836        79999       0.350
     80000       14683       160001       0.717
    160000       27607       319993       1.767 <---- Large jump
    320000       52073       639997       5.150 <---- here.
    640000       98609      1279997      11.483
   1280000      187133      2559989      24.267
   2560000      356243      5119997      49.850

   Relative to 10 Iterations and the 8191 Array Size:
   Average BenchTime =    0.102 (sec)

On the workstation the benchmark time roughly doubles when the array
size is doubled. This is also also true on the server, with one
exception, when the array size doubles from 160000 to 320000.

Can anyone tell me why this should happen? The behaviour is
consistent, several other runs produced similar results. I'm presuming
that it's some architectural difference, but that's just a guess.

-- 
Bruce Munro.  <bruce@tcom.stc.co.uk> || ...!mcsun!ukc!stc!bruce
STC Telecommunications, Oakleigh Rd South, London N11 1HB. 
Phone : +44 81 945 2174 or +44 81 945 4000 x2174
"There are no strangers, only friends we don't recognise" - Hank Wangford