🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.arch
Article #2962

yet-another-benchmark

#2962
From: Ed Kubaitis
Date: Sun, 12 Nov 1989 16:02
204 lines
11769 bytes
Here is an updated list of results. Thanks for the responses.
-------------------------------------------------------------------------------
Attached is yet-another-benchmark that might cast some light on aspects
of architecture.  As with all benchmarks, there is a very serious question 
of relevance to one's own applications. However, unlike many others, it 
is small enough to see in detail what is being measured.

The numbers reported are trips/processor_second through the loop below. The
calculation does not seem to lend itself to vector/parallel enhancements.

   int W, H, np, mxp, nP, mxP;
   double A, B, C;
   char *bmap;

   hopalong() {
      int wc=W/8, cx=W/2, cy=H/2, ix, iy; 
      double x=0, y=0, xx, yy, t;

      while (np < mxp && ++nP < mxP) {
	 t = sqrt(fabs(B*x-C));
	 xx = y - ( (x<0) ? t : -t );
	 yy = A - x;
	 x = xx; y = yy;
	 ix = cx + x; iy = cy + y;
	 if (ix>-1 && iy>-1 && ix<(W-1) && iy<(H-1)) {
	    bmap[iy*wc+(ix>>3)] |= 1<<(ix&7);
	    np++;
	    }
	 }
      }

It's building a bitmap of a fractal to display in an X root window. 
(Barry Martin algorithm published in A.K. Dewdney's "Computer Recreations" 
in the September 86 Scientific American.)
-------------------------------------------------------------------------------
Newsgroups: comp.windows.x
From: ejk@ux1.cso.uiuc.edu (Ed Kubaitis)
Subject: xfroot timing update
Date: Sun, 12 Nov 89 15:36:56 GMT

Here is the 6th updated list of xfroot fractal-points/processor_second 
measured on various clients. The number, a count of trips/second
through the 9 line "hopalong" loop in xfroot, is a rough index of scalar 
double-precision floating point uniprocessor speed. The lower number 
represents a case where nearly all points are in-range and thus require
additional integer arithmetic, bit manipulation, and memory accesses to
record the point. The higher number reflects a case when most points are
out of range and most time is spent in floating point arithmetic.  
   
      Key:   () : Vax 780 equivalents
             *  : For a single processor
             +  : Using hardware square root
	     >  : New since last posting

      304000 (56.2)   619000(100.3)*     Cray 2    (scc)         
      316000 (58.4)   476000 (77.1)*     Cray Y-MP (scc)         
      283000 (52.3)   415000 (67.3)*     Cray X-MP (scc)         
      185000 (34.2)   263000 (42.6)*+  > Apollo DN10000 (See note below)
      143000 (26.4)   195000 (31.6)*+    ETA-10 G                
      157000 (29.0)   194000 (31.4)*     Cray X-MP (cc)          
      129000 (23.8)   183000 (29.7)*     Cray 2    (cc)          
      174000 (32.2)   182000 (29.5)*   > Amdahl 5990             
      115000 (21.3)   170000 (27.6)*   > Apollo DN10000 (-D_BUILTINS)
      117000 (21.6)   151000 (24.5)*+    Convex C2 (gcc)         
      108000 (20.0)   144000 (23.3)      SGI Iris 4D/240 (-lfastm)
      108000 (20.0)   138000 (22.4)*+    Convex C2 (vc3/fastmath)
       99000 (18.3)   118000 (19.1)*+    Convex C2 (vc3)         
       95000 (17.6)   115000 (18.6)      DEC DS5800              
       89000 (16.5)   111000 (18.0)      SGI Iris 4D/240         
       73000 (13.5)    94000 (15.2)+     Sun 4/370 (f77/libm.i1) 
       66000 (12.2)    92000 (14.9)      HP9000/835CHX           
       78000 (14.4)    92000 (14.9)    > Sony NWS-3860           
       77000 (14.2)    91000 (14.7)      DEC DS5400              
       58000 (10.7)    75000 (12.2)      DEC DS3100              
       61000 (11.3)    70000 (11.3)      Tektronix XD88/30       
       52000  (9.6)    69000 (11.2)+     Sun 4/280               
       58000 (10.7)    67000 (10.9)      Solbourne Series5 Cypress  
       49000  (9.1)    60000  (9.7)*     Gould NP1               
       50000  (9.2)    57000  (9.2)      DEC Vax 6400 (vcc)      
       49000  (9.1)    55000  (8.9)*     Convex C2 (vc2)         
       45000  (8.3)    54000  (8.8)      SGI Iris 4D/70-GT       
       43000  (7.9)    53000  (8.6)    > Sun SPARCstation 1 (see note below)
       42000  (7.8)    48000  (7.8)      Sun 4/370 (libm.i1)     
       41000  (7.6)    47000  (7.6)*     Convex C2 (cc)          
       41000  (7.6)    47000  (7.6)      Sun 4/370               
       28000  (5.2)    33000  (5.3)      Dec Vax 8650            
       28000  (5.2)    33000  (5.3)    > Stellar GS 2000 (-O2)   
       26500  (4.9)    30300  (4.9)    > Mac II (w/ Siclone 3033)
       20800  (3.8)    28900  (4.7)      Sun SPARCstation 1 (see note below)
       24000  (4.4)    28000  (4.5)      HP9000/370 (ffpa)       
       24700  (4.6)    27800  (4.5)      Sun SPARCstation 1 (gcc)
       22800  (4.2)    27100  (4.4)      Titan                   
       22900  (4.2)    26100  (4.2)      DEC MV3900 (vcc)        
       19900  (3.7)    25200  (4.1)      Sun SPARCstation 1          
       17200  (3.2)    24200  (3.9)      DG AViiON (88k 16.7 MHz)
       22300  (4.1)    23700  (3.8)      386/33 + 387   (cc 386/ix)
       21100  (3.9)    23600  (3.8)      Sun 4/260               
       20100  (3.7)    23400  (3.8)*     Sequent Symmetry (fpa)  
       19700  (3.6)    23200  (3.8)      Dec Vax 8530            
       21000  (3.9)    23000  (3.7)      Sun 4/280               
       19700  (3.6)    22400  (3.6)      Dec Vax 8600            
       19500  (3.6)    21600  (3.5)    > Apollo DN4500 (-D_BUILTINS)
       16800  (3.1)    19200  (3.1)      DEC Vax 6220            
       16800  (3.1)    17600  (2.9)      386/33 + 387 (gcc 1.35) 
       15400  (2.8)    17500  (2.8)      DEC MV3200 (vcc)        
       15200  (2.8)    17400  (2.8)      IBM RT 135 (-f2 -lfm)   
       14500  (2.7)    17400  (2.8)      DEC MV3600 (vcc)        
       15900  (2.9)    17300  (2.8)      HP9000/370              
       13800  (2.6)    16100  (2.6)    > Apollo DN3550 (-D_BUILTINS)
       13900  (2.6)    16000  (2.6)      IBM RT125 (afpa)        
       13800  (2.6)    15900  (2.6)    > Apollo DN3500 (-D_BUILTINS)
       13700  (2.5)    15200  (2.5)      HP9000/360              
       13200  (2.4)    15200  (2.5)      DEC Vaxserver 3500      
       13000  (2.4)    15100  (2.4)      Dec Vaxstation 3100     
       14000  (2.6)    14800  (2.4)      Sun 386i/250 Weitek (cc)
       12900  (2.4)    14000  (2.3)      Sun 3/60 (-O4 lib/f68881)
       11900  (2.2)    13200  (2.1)    > Apollo DN4000 (-D_BUILTINS)
       11000  (2.0)    12900  (2.1)    > Apollo DN2500 (-D_BUILTINS)
       10500  (1.9)    12700  (2.1)      Sun 3/50 (gcc 68881)     
        9700  (1.8)    12100  (2.0)    > Mac II                  
       10600  (2.0)    11500  (1.9)      IBM RT 135               
       10500  (1.9)    11500  (1.9)      HP9000/350               
        9900  (1.8)    10500  (1.7)*     Sequent Symmetry         
        9200  (1.7)     9700  (1.6)      IBM RT 115 (4.3BSD High C 2.1)
        8000  (1.5)     8750  (1.4)      Sun 3/60 (-f 68881)      
        7930  (1.5)     8670  (1.4)    > HP9000/340                
        7000  (1.3)     8200  (1.3)      386/25 + 387   (cc 386/ix)
        7300  (1.3)     8000  (1.3)      IBM RT 115 (4.3BSD High C 1.4)
        7280  (1.3)     7910  (1.3)      HP9000/330 (HP-UX 6.5 cc) 
        7200  (1.3)     7600  (1.2)      IBM RT 125                
        5530  (1.0)     6330  (1.0)      DEC Vaxstation 2000/vcc   
        5730  (1.1)     6230  (1.0)      HP9000/330                
        6000  (1.1)     6200  (1.0)      386/25 + 387   (gcc)      
        5410  (1.0)     6170  (1.0)      DEC Vax 780               
        5580  (1.0)     6150  (1.0)      HP9000/320                
        5560  (1.0)     6120  (1.0)    > Apollo DN3000 (-D_BUILTINS)
        5480  (1.0)     6080  (1.0)      Sun 3/50 (-f 68881)       
        4670  (0.9)     5530  (0.9)      DEC Vaxstation 2000       
        4160  (0.8)     5210  (0.8)      DEC MVII   (cc)           
        4080  (0.8)     5070  (0.8)      DEC MVII   (vcc)          
        1960  (0.4)     2060  (0.3)      Sun 3/60                  
        1270  (0.2)     1330  (0.2)      Sun 3/50                  
         ???  (???)      950  (0.2)      Sun 3/160 (no fpa)        
         530  (0.1)      560  (0.1)      Sun 2/120 (no fpu - cc) 
         340  (0.1)      360  (0.1)      DEC Vax 730               
         259  (0.0)      260  (0.0)      386/25 (386/ix - no 387)  

A few notes on the results: 
     
     o The top DN10000 timings used the PRISM 6.7(359) compiler with
       the following options: -opt 4 -cpu a88k -def sqrt=_builtin_sqrt
       -def fabs=_builtin_fabs.

     o Two SPARCstation results using sqrt.i1 and libm.i1 were reported.
       The only difference appeared to be that the faster one was compiled
       and linked in one step. Can anyone enlighten us on this?

     o The Cray scc compiler uses the same backend as their Fortran.

     o gcc enhancements are due to inline code for sqrt & fabs.

     o Strikingly different results for the same system show that it pays to 
       shop around for the best compiler/options/libraries available.

Thanks to:  archer@sgi.com, bauer@loligo.cc.fsu.edu, bav@hobbes.ksu.ksu.edu, 
bryan%kewill@uunet.uu.net, bt@irfu.se, casey@gauss.llnl.gov, csmith@convex.com,
csu@alembic.acs.com, eric@geology.tn.cornell, dave@rutgers.edu, 
david@torsqnt.uucp, evans@decvax.dec.com, garyc@quasi.wv.tek.com, 
glenn@mathcs.emory.edu, harrison@decwrl.dec.com, hleroy@erisa.fr, 
howard@aic.hrl.hac.com, hrp@boring.cray.com, idallen@watgcl.waterloo.edu, 
jpb@sn2024.cray.com, jw@pan.uucp, ken@cs.toronto.edu, kline@ux1.cso.uiuc.edu, 
ksp@maxwell.nde.swri.edu, kucharsk@uts.amdahl.com, lnz@lucid.com,
mark@zok.uucp,
markw@airgun.wg.waii.com, michael@ws.sony.co.jp, moraes@csri.toronto.edu, 
paul@db0tui66.bitnet, rauletta@gmuvax2.gmu.edu, skam@solbourne.com, 
sommerfeld@apollo.com, steved@longs.lance.colostate.edu, tac@csl.ncsu.edu, 
thp@westhawk.uucp, tony@popserver.stanford.edu, tpf@jdyx.uucp,
wesommer@athena.mit.edu, zimet@sequoia.berkeley.edu, for sharing their results.
(Please assume the standard disclaimers for all.)

I would appreciate hearing about measurements on other clients, or results
differing significantly from those above.  To perform your own:

	1. Get xfroot/part01 (V5-I3) and xfroot/patch1(V5-I7) from
	   comp.sources.x. These are available via anonymous ftp from
	   uunet.uu.net. While they will eventually be found there in
	   comp.sources.x/volume5, as of this writing they are in
	   comp.sources.x/new/890924.0.Z and 890929.0. If you don't
	   have ftp access to uunet.uu.net, I will be happy to mail
	   a copy (~700 lines.)
	2. Install xfroot on the client to be tested, taking care
	   that you have verified the definition of HZ in xfroot.c.
	   (See the README.)
	3. Make the following two runs:

	      xfroot -a 0.1 -b 0.1 -c 0.1    (lower bound)
	      xfroot -a 3000 -b 3000 -c 3000 (upper bound)

Please mention any details (compilers/libraries/options) you think are
relevant.

-------------------------
Ed Kubaitis (ejk@ux1.cso.uiuc.edu)
Computing Services Office - University of Illinois, Urbana
Technical Details
Message-ID: <1989Nov12.160221.26921@ux1.cso.uiuc.edu>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!gem.mps.ohio-state.edu!wuarchive!uwm.edu!ux1.cso.uiuc.edu!ux1.cso.uiuc.edu!ejk

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!gem.mps.ohio-state.edu!wuarchive!uwm.edu!ux1.cso.uiuc.edu!ux1.cso.uiuc.edu!ejk
From: ejk@ux1.cso.uiuc.edu (Ed Kubaitis)
Newsgroups: comp.arch
Subject: yet-another-benchmark
Message-ID: <1989Nov12.160221.26921@ux1.cso.uiuc.edu>
Date: 12 Nov 89 16:02:21 GMT
Sender: news@ux1.cso.uiuc.edu (News)
Reply-To: ejk@ux1.cso.uiuc.edu (Ed Kubaitis)
Followup-To: yet-another-benchmark
Organization: University of Illinois at Urbana
Lines: 204