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
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)
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
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 makeThe 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.
./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