Running the ROOT benchmark suite


The ROOT standard distribution kit includes a long list of test programs. Some of these test programs are used to benchmark the performance of ROOT, The suite includes

All benchmarks report the total RealTime and CpuTime and also a performance number (ROOTMARK). All stress programs have been normalized to 800 ROOTMARKS on a P IV 2.8 Ghz with Linux and gcc3.2.3. If you have interesting benchmarks (new machine, compiler) with the complete test suite, please send the results in html source format to rootdev@root.cern.ch. For those interested to run the ROOT benchmark suite, here are the instructions:

First step: install ROOT itself

The complete instructions are available at How to install ROOT. If you are interested only by the benchmark suite, you can install the default minimum configuration shown at the bottom of this page, otherwise configure with the default version. To get the source, do, eg
     prompt% ftp root.cern.ch
     User: anonymous
     Password: 

     ftp> cd /root
     ftp> bin
     ftp> get root_v5.13.03.source.tar.gz
     ftp> bye

     prompt% tar -zxvf root_v5.13.03.source.tar.gz
     prompt% cd root
     prompt% ./configure --disable-globus 
     prompt% make -k
        this step will take between 10 to 30 minutes.
        if you have a multi-core, you can speedup the installation
        make -j 2 -k  (for 2 cores)
        make -j 4 -k  (for 4 cores)

Second step: run the benchmarks

     prompt% export ROOTSYS=$PWD  (the root directory)
     prompt% export PATH=$ROOTSYS/bin:$PATH  (or setenv)
     prompt% export LD_LIBRARY_PATH=$ROOTSYS/lib:.:$LD_LIBRARY_PATH
     prompt% cd test
     prompt% make
     prompt% 
     prompt%    you are now ready to run the benchmark suite
     prompt% stress -b
     prompt% stress -b 30
     prompt% stressFit
     prompt% stressSpectrum
     prompt% stressLinear
     prompt% stressGraphics
     prompt% stressGeometry

some results

stressHepix

HEPiX-HEPNT is an organization comprised of UNIX and Windows support staff in the High Energy Physics community. One of the HEPIX activities is to gather knowledge about new hardware and software and to recommend common solutions (eg Scientific Linux) see: HEPIX web site.

This benchmark suite has been implemented following several requests from HEPIX members interested by a collection of benchmarks representative of typical applications.

stressHepix is a single benchmark including several standard ROOT benchmarks with a mixture of CPU intensive tests and I/O tests. The output of stressHepix is one single number (the ROOTMARK). A Pentium IV 2.8GHz running Linux SLC3 and gcc3.2.3 runs this benchmark with a reference at 800 ROOTMARKs.

To build the executable for this benchmark, do

   cd $ROOTSYS/test
   make
The default configuration of ROOT is enough. The ouput of this benchmark looks like:
stressHepix

Starting stressHepix benchmark (details will be in stressHepix.log)
Takes 442 CP seconds on a  500 rootmarks machine (IBM Thinkpad centrino 1.4GHz VC++7.1)
Takes 278 CP seconds on a  800 rootmarks reference machine (P IV 2.8 GHz, SLC3 gcc3.2.3)
Takes 239 CP seconds on a  924 rootmarks machine (MacBook 2.0GHz gcc4.0.1)
Takes 209 CP seconds on a 1056 rootmarks machine (MacBook 2.0GHz icc9.1)
Takes 147 CP seconds on a 1512 rootmarks machine (MacPro 3.0GHz gcc4.0.1)
Takes 142 CP seconds on a 1550 rootmarks machine (AMD64/280, FC5 gcc4.1)
Takes 121 CP seconds on a 1828 rootmarks machine (MacPro 3.0GHz icc9.1)

Running : stressFit Minuit  2000, (takes 11 RT seconds on the ref machine)
Running : stressLinear, (takes 26 RT seconds on the ref machine)
Running : stressGeometry, (takes 77 RT seconds on the ref machine)
Running : stressSpectrum 1000, (takes 116 RT seconds on the ref machine)
Running : stress -b 3000, (takes 138 RT seconds on the ref machine)


****************************************************************************
*                                                                          *
*               S T R E S S   H E P I X  S U M M A R Y                     *
*                                                                          *
*       ROOTMARKS = 789.3   *  Root5.13/03   20060830/1441
*                                                                          *
*  Real Time =  401.1 seconds, CpuTime =  281.8 seconds
*  Linux pcbrun 2.4.21-47.EL.cernsmp #1 SMP Mon Jul 24 15:33:5
****************************************************************************

If you run this benchmark on a new platform, please report the results at rootdev@root.cern.ch. Send the output shown above and also the log file stressHepix.log that contains more details about the individual tests. Your results will be shown at this page.

Installing ROOT with the minimum configuration to run stressHepix

Instead of the "./configure" instruction to build the default version of ROOT, you can install only the basic set of packages necessary to run the benchmark.
   ./configure \
                     --disable-afs \
                     --disable-alien \
                     --disable-asimage \
                     --disable-astiff \
                     --disable-cern \
                     --disable-chirp \
                     --disable-cintex \
                     --disable-clarens \
                     --disable-dcache \
                     --disable-exceptions \
                     --disable-explicitlink \
                     --disable-fftw3 \
                     --disable-gfal \
                     --disable-globus \
                     --disable-krb5 \
                     --disable-ldap \
                     --disable-mathcore \
                     --disable-mathmore \
                     --disable-minuit2 \
                     --disable-monalisa \
                     --disable-mysql \
                     --disable-odbc \
                     --disable-opengl \
                     --disable-oracle \
                     --disable-peac \
                     --disable-pgsql \
                     --disable-pythia \
                     --disable-pythia6 \
                     --disable-python \
                     --disable-qt \
                     --disable-qtgsi \
                     --disable-reflex \
                     --disable-rfio \
                     --disable-roofit \
                     --disable-rpath \
                     --disable-ruby \
                     --disable-sapdb \
                     --disable-shadowpw \
                     --disable-shared \
                     --disable-srp \
                     --disable-ssl \
                     --disable-table \
                     --disable-thread \
                     --disable-venus \
                     --disable-winrtdebug \
                     --disable-xml \
                     --disable-xrootd \
                     --enable-pch \
                     --enable-soversion \
                     --enable-builtin-afterimage \
                     --enable-builtin-freetype \
                     --enable-builtin-pcre \
                     --enable-builtin-zlib 

Rene Brun, Fons Rademakers

Last update 8/09/2006 by RB