Performance: Timing the speed of SPRNG Libraries
On building the SPRNG library, executables will be created to time each generator provided. A shell script called timesprng is provided that will run each of these timing executables. Enter the following command in the same directory where the SPRNG libraries reside in order to determine the speeds of the generators on your machine:
timesprng
The output will give the time taken to generate a million random numbers and also the number of random numbers generated per second, in millions (MRS). These results are based on the timings in C programs. FORTRAN timings are also given for millions of random numbers generated per second.
We give below a table of timing results on a few parallel platforms, in Millions of Random Numbers per Second for the integer and double precision numbers generated:
Time SPRNGCRAY T3E HP/CONVEX Exemplar IBM SP2 SGI-CRAY Origin 2000 SGI Power Challenge Clock Speed MHz 300 180 135 195 195 drand48() 
(for comparison)2.6 0.32 1.4 1.8 1.8 C LCG48 
Integer14.5 7.7 4.4 10.3 10.2 C LCG48 
Double Precision6.3 5.9 5.0 8.7 8.3 FORTRAN LCG48 
Integer12.8 7.7 5.3 10.3 10.2 FORTRAN LCG48 
Double Precision6.1 6.2 3.3 8.5 8.5 C LFG 
Integer5.5 6.7 4.0 6.1 5.8 C LFG 
Double Precision3.2 3.2 3.2 3.8 3.8 FORTRAN LFG 
Integer5.4 6.3 4.1 5.2 5.3 FORTRAN LFG 
Double Precision3.3 2.9 3.2 3.6 3.8 C LCG64 
Integer16.6 10.0 5.6 11.5 11.5 C LCG64 
Double Precision6.5 6.7 4.0 7.8 7.8 FORTRAN LCG64 
Integer14.5 7.7 5.0 10.8 10.8 FORTRAN LCG64 
Double Precision6.3 6.3 3.6 7.8 7.8 C CMRG 
Integer8.6 5.6 1.9 4.6 4.7 C CMRG 
Double Precision4.8 4.8 1.8 3.6 4.3 FORTRAN CMRG 
Integer8.4 5.0 1.9 4.2 4.5 FORTRAN CMRG 
Double Precision4.7 4.8 1.7 3.6 3.5 C MLFG 
Integer5.6 5.3 4.2 8.3 8.3 C MLFG 
Double Precision5.0 5.3 3.1 6.0 6.1 FORTRAN MLFG 
Integer5.9 3.3 3.8 7.6 8.2 FORTRAN MLFG 
Double Precision3.1 2.8 3.2 5.6 6.0 C PMLCG 
Integer7.5 0.7 2.2 2.5 2.4 C PMLCG 
Double Precision4.2 0.7 1.8 2.3 2.3 FORTRAN PMLCG 
Integer7.2 0.61 1.9 2.5 2.5 FORTRAN PMLCG 
Double Precision4.1 0.58 1.9 2.4 2.5 
![]()  |  
![]()  |  
![]()  |  
![]()  |