
              Benchmarks based on SHELX version 97-2
              --------------------------------------

To benchmark PC's and Workstations for a mix of typical number-crunching
crystallographic calculations, the following benchmarks are provided. 
They are based on the distributed version 97-2 of the SHELX programs, 
with the following minor changes to artificially increase the computer 
time requirements.

log2000 - like the log test but with TREF replaced by TREF 2000.
cumos10 - like the cumos2 test but with PATT 2 replaced by PATT 10.
6rxn - exactly as in the 6rxn test distributed with SHELX.
7rxn - like 6rxn, but with CGLS 10 -12 replaced by L.S. 1 and BLOC 1.

The first two require the shelxs structure solution program, the last two 
two the shelxl structure refinement program. To run the tests first copy 
the appropriate executables and all the files from the subdirectory data 
into the working directory, if necessary set the 'x' attribute for the
executables, then:

./shelxs log2000
./shelxs cumos10
./shelxl 6rxn
./shelxl 7rxn

The total CPU time in seconds (t) for all four is then the benchmark time. 
The performance in Vax units is given by 200000/t.

DOS/Windows executables were compiled with Lahey FORTRAN-90 version 5.6.
Linux/Intel executables were compiled with version 3.2 of the Portland  
Group pgf77 compiler; the current Linux version of the Lahey compiler
produces slower executables.

The default compiler options were used for PGF77 (Pentium): .

pgf77 shelxs.f shelxv.f -o shelxs
pgf77 shelxl.f shelxlv.f -o shelxl

For the Athlon the following switches were added:

For Lahey/Windows the following switches were employed:

lf95 shelxs.for shelxsv.for -nstchk -nomap -block 32768 -exe shelxs
lf95 shelxl.for shelxlv.for -nstchk -nomap -block 32768 -exe shelxl

For the Alpha the option -fast and for IRIX 6.5 -Ofast were used.

Note that the rate-determining routines have been collected into the 
relatively short files shelxsv.f and shelxlv.f; it might be worth trying 
to optimize these two files more highly. However optimization frequently 
leads to wrong numerical results, so it is strongly recommended that the
programs are first compiled without optimization, and then with, and the
numberical results compared (e.g. using the UNIX diff command). Small
rounding errors do not matter in this respect, but large ones do!

Some typical recent results follow (times in the above order):

Computer                               Sum of 4 CPU times     Vax units
--------                               ------------------     ---------

3.06 GHz Pentium4 / Intel 7.0:     3.1+2.9+3.7+5.9 = 18.9       12821 

500MHz AXP 21264 / True64UNIX:     12.9+10.1+17.2+23.1 =  63.3   3160

300MHz SGI R12000 IRIX 6.5:        16.5+7.5+25.1+42.8  =  91.9   2176

For further details of SHELX see http://shelx.uni-ac.gwdg.de/SHELX/

George Sheldrick


