RE: Benchmarking ROOT 2.21/07 + PGCC (2)

From: Valery Fine (Faine) (fine@bnl.gov)
Date: Fri Mar 12 1999 - 16:46:54 MET


>
> Nobody commented my results, but I'm still curious :
> ----------------------------------- compiled "stress"
> stress    : Total I/O =  425.6 Mbytes, I =  296.4, O = 129.3
> stress    : Compr I/O =  407.4 Mbytes, I =  286.3, O = 121.0
> stress    : Real Time =  98.70 seconds Cpu Time =  83.92 seconds
> *  ROOTMARKS = 160.4   *  Root 2.21/07  990308/1327
> ----------------------------------- interpreted "stress"
> stress    : Total I/O =  425.6 Mbytes, I =  296.4, O = 129.3
> stress    : Compr I/O =  407.4 Mbytes, I =  286.3, O = 121.0
> stress    : Real Time = 185.76 seconds Cpu Time = 167.58 seconds
> *  ROOTMARKS = 152.3   *  Root 2.21/07  990308/1327
> -----------------------------------
> Note : both the Real Time and the Cpu Time of the interpreted "stress" are
> about twice of the compiled "stress". But ROOTMARKS are the same ?
> What's going on ?
>  The stress code calculates the ROOTMARKS as follows:

stress.cxx:
[ . . . ]
#ifndef __CINT__
   Float_t rt_hp10   = 171;  //HP times with the native compiler
   Float_t cp_hp10   = 152;
   Float_t rt_hp1000 = 674;
   Float_t cp_hp1000 = 411;
#else
   Float_t rt_hp10   = 476;  //HP times with CINT
   Float_t cp_hp10   = 451;  //The difference is essentially coming from
stress16
   Float_t rt_hp1000 = 1165;
   Float_t cp_hp1000 = 828;
#endif
   Float_t cp_hp = cp_hp1000 - (cp_hp1000 -
cp_hp10)*(1000-nevent)/(1000-10);
   Float_t rt_hp = rt_hp1000 - (rt_hp1000 -
rt_hp10)*(1000-nevent)/(1000-10);
   Float_t rt = gBenchmark->GetRealTime("stress");
   Float_t ct = gBenchmark->GetCpuTime("stress");
   Float_t rootmarks = 27*(rt_hp + cp_hp)/(rt + ct);

  So one can reailze it does use two different sets of the constants for
compiled and interpretred codes.
  For example for my Gateway 2000/233 I got:

  stress    : Real Time = 217.29 seconds Cpu Time = 138.09 seconds
  ROOTMARKS =  82.4   *  Root 2.21/06  990311/1150
vs
  stress    : Real Time = 325.95 seconds Cpu Time = 248.34 seconds
  ROOTMARKS =  93.7   *  Root 2.21/06  990311/1150

  since the factors
                        27*(rt_hp + cp_hp)
  used to normalised thses numbers are:
either 53811.0 or 29295.0

                      53811.0 / 29295.0 = 1.84

Since my computer 233 Mhz I expect the ROOTMARK for 400 Mhz should

              (400/233)*93.7   = 161 ROOTMARKS  (your number is  160.4 )
              (400/233)*82.4   = 141 ROOTMARKS  (your number is  152.3 )

E:\users\root\test>stress 1000
******************************************************************
*  Starting  R O O T - S T R E S S test suite with 1000 events
******************************************************************
Test  1 : Functions, Random Numbers, Histogram Fits............. OK
Test  2 : Check size & compression factor of a Root file........ OK
Test  3 : Purge, Reuse of gaps in TFile......................... OK
Test  4 : Test of 2-d histograms, functions, 2-d fits........... OK
Test  5 : Test graphics & Postscript............................ OK
Test  6 : Test subdirectories in a Root file.................... OK
Test  7 : TNtuple, selections, TCut, TCutG, TEventList.......... OK
Test  8 : Trees split and compression modes..................... OK
Test  9 : Analyze Event.root file of stress 8................... OK
Test 10 : Create 10 files starting from Event.root.............. OK
Test 11 : Test chains of Trees using the 10 files............... OK
Test 12 : Compare histograms of test 9 and 11................... OK
Test 13 : Test merging files of a chain......................... OK
Test 14 : Check correct rebuilt of Event.root in test 13........ OK
Test 15 : Divert Tree branches to separate files................ OK
Test 16 : CINT test (3 nested loops) with LHCb trigger.......... OK
******************************************************************
*  Windows_NT x86 Family 6 Model 3 Stepping 3, GenuineIntel
******************************************************************
stress    : Total I/O =  425.6 Mbytes, I =  296.4, O = 129.3
stress    : Compr I/O =  407.4 Mbytes, I =  286.3, O = 121.0
stress    : Real Time = 217.29 seconds Cpu Time = 138.09 seconds
 Bench factor =  29295.000000
******************************************************************
*  ROOTMARKS =  82.4   *  Root 2.21/06  990311/1150
******************************************************************

******************************************************************
*  Starting  R O O T - S T R E S S test suite with 1000 events
******************************************************************
Test  1 : Functions, Random Numbers, Histogram Fits............. OK
Test  2 : Check size & compression factor of a Root file........ OK
Test  3 : Purge, Reuse of gaps in TFile......................... OK
Test  4 : Test of 2-d histograms, functions, 2-d fits........... OK
[ snip ]
******************************************************************
*  Windows_NT x86 Family 6 Model 3 Stepping 3, GenuineIntel
******************************************************************
stress    : Total I/O =  425.6 Mbytes, I =  296.4, O = 129.3
stress    : Compr I/O =  407.4 Mbytes, I =  286.3, O = 121.0
stress    : Real Time = 325.95 seconds Cpu Time = 248.34 seconds
 Bench factor =  53811.000000
******************************************************************
*  ROOTMARKS =  93.7   *  Root 2.21/06  990311/1150
******************************************************************



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:30 MET