Logo ROOT   6.07/09
Reference Guide
benchmarks.C File Reference

Detailed Description

This macro run several tests and produces an benchmark report.

pict1_benchmarks.C.png
pict2_benchmarks.C.png
pict3_benchmarks.C.png
pict4_benchmarks.C.png
pict5_benchmarks.C.png
Processing /mnt/vdb/lsf/workspace/root-makedoc-v608/rootspi/rdoc/src/v6-08-00-patches/tutorials/benchmarks.C...
Processing benchmark: /mnt/vdb/lsf/workspace/root-makedoc-v608/rootspi/rdoc/src/v6-08-00-patches/tutorials/graphics/framework.C
Processing benchmark: /mnt/vdb/lsf/workspace/root-makedoc-v608/rootspi/rdoc/src/v6-08-00-patches/tutorials/hsimple.C
hsimple : Real Time = 0.17 seconds Cpu Time = 0.17 seconds
(TFile *) 0x2e97390
Processing benchmark: /mnt/vdb/lsf/workspace/root-makedoc-v608/rootspi/rdoc/src/v6-08-00-patches/tutorials/hist/hsum.C
hsum : Real Time = 0.09 seconds Cpu Time = 0.09 seconds
Processing benchmark: /mnt/vdb/lsf/workspace/root-makedoc-v608/rootspi/rdoc/src/v6-08-00-patches/tutorials/graphics/formula1.C
Object statistics
class cnt on heap size total size heap size
================================================================================
TList 141 141 80 11280 11280
TObjectTable 1 1 32 32 32
TROOT 1 0 664 664 0
TPluginManager 1 1 40 40 40
THashTable 1 1 72 72 72
TClassTable 1 1 16 16 16
THashList 1 1 88 88 88
TEnv 1 1 56 56 56
TEnvRec 157 157 96 15072 15072
TUnixSystem 1 1 648 648 648
TOrdCollection 5 5 72 360 360
--------------------------------------------------------------------------------
Total: 311 310 1864 28328 27664
================================================================================
Processing benchmark: /mnt/vdb/lsf/workspace/root-makedoc-v608/rootspi/rdoc/src/v6-08-00-patches/tutorials/hist/fillrandom.C
fillrandom: Real Time = 0.15 seconds Cpu Time = 0.07 seconds
Processing benchmark: /mnt/vdb/lsf/workspace/root-makedoc-v608/rootspi/rdoc/src/v6-08-00-patches/tutorials/fit/fit1.C
TFile** fillrandom.root
TFile* fillrandom.root
KEY: TFormula form1;1 abs(sin(x)/x)
KEY: TF1 sqroot;1 x*gaus(0) + [3]*form1
KEY: TH1F h1f;1 Test random numbers
Formula based function: sqroot
sqroot : x*gaus(0) + [3]*form1 Ndim= 1, Npar= 4, Number= 0
Formula expression:
x*[p0]*exp(-0.5*((x-[p1])/[p2])*((x-[p1])/[p2]))+[p3]*(abs(sin(x)/x))
FCN=227.072 FROM MIGRAD STATUS=CONVERGED 151 CALLS 152 TOTAL
EDM=1.70589e-08 STRATEGY= 1 ERROR MATRIX ACCURATE
EXT PARAMETER STEP FIRST
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 p0 3.38761e+01 5.48516e-01 3.27964e-03 -3.84524e-04
2 p1 3.99290e+00 1.65535e-02 9.90380e-05 -6.69119e-03
3 p2 9.63145e-01 1.21657e-02 6.10278e-05 -1.68758e-02
4 p3 6.34107e+01 1.32066e+00 9.33049e-03 -6.31545e-05
fit1 : Real Time = 0.18 seconds Cpu Time = 0.17 seconds
Processing benchmark: /mnt/vdb/lsf/workspace/root-makedoc-v608/rootspi/rdoc/src/v6-08-00-patches/tutorials/hist/h1draw.C
TFile** hsimple.root Demo ROOT file with histograms
TFile* hsimple.root Demo ROOT file with histograms
KEY: TH1F hpx;1 This is the px distribution
KEY: TH2F hpxpy;1 py vs px
KEY: TProfile hprof;1 Profile of pz versus px
KEY: TNtuple ntuple;1 Demo ntuple
Processing benchmark: /mnt/vdb/lsf/workspace/root-makedoc-v608/rootspi/rdoc/src/v6-08-00-patches/tutorials/graphs/graph.C
i 0 0.000000 1.986693
i 1 0.100000 2.955202
i 2 0.200000 3.894183
i 3 0.300000 4.794255
i 4 0.400000 5.646425
i 5 0.500000 6.442177
i 6 0.600000 7.173561
i 7 0.700000 7.833269
i 8 0.800000 8.414710
i 9 0.900000 8.912074
i 10 1.000000 9.320391
i 11 1.100000 9.635582
i 12 1.200000 9.854497
i 13 1.300000 9.974950
i 14 1.400000 9.995736
i 15 1.500000 9.916648
i 16 1.600000 9.738476
i 17 1.700000 9.463001
i 18 1.800000 9.092974
i 19 1.900000 8.632094
Processing benchmark: /mnt/vdb/lsf/workspace/root-makedoc-v608/rootspi/rdoc/src/v6-08-00-patches/tutorials/graphs/gerrors.C
Processing benchmark: /mnt/vdb/lsf/workspace/root-makedoc-v608/rootspi/rdoc/src/v6-08-00-patches/tutorials/graphics/tornado.C
tornado : Real Time = 0.00 seconds Cpu Time = 0.01 seconds
Processing benchmark: /mnt/vdb/lsf/workspace/root-makedoc-v608/rootspi/rdoc/src/v6-08-00-patches/tutorials/graphs/surfaces.C
Processing benchmark: /mnt/vdb/lsf/workspace/root-makedoc-v608/rootspi/rdoc/src/v6-08-00-patches/tutorials/graphs/zdemo.C
Processing benchmark: /mnt/vdb/lsf/workspace/root-makedoc-v608/rootspi/rdoc/src/v6-08-00-patches/tutorials/geom/geometry.C
na49 : Real Time = 0.02 seconds Cpu Time = 0.02 seconds
geometry : Real Time = 0.25 seconds Cpu Time = 0.08 seconds
Processing benchmark: /mnt/vdb/lsf/workspace/root-makedoc-v608/rootspi/rdoc/src/v6-08-00-patches/tutorials/geom/na49view.C
na49view : Real Time = 0.01 seconds Cpu Time = 0.01 seconds
Processing benchmark: /mnt/vdb/lsf/workspace/root-makedoc-v608/rootspi/rdoc/src/v6-08-00-patches/tutorials/tree/ntuple1.C
****************************************
Minimizer is Linear
Chi2 = 16.5378
NDf = 68
p0 = 1.04821 +/- 0.226552
p1 = 0.0133784 +/- 0.0420448
p2 = 0.956034 +/- 0.0245116
ntuple1 : Real Time = 0.28 seconds Cpu Time = 0.27 seconds
Processing benchmark: /mnt/vdb/lsf/workspace/root-makedoc-v608/rootspi/rdoc/src/v6-08-00-patches/tutorials/rootmarks.C
---------------ROOT 6.07/09 benchmarks summary--------------------
hsimple : Real Time = 0.17 seconds Cpu Time = 0.17 seconds
hsum : Real Time = 0.09 seconds Cpu Time = 0.09 seconds
fillrandom: Real Time = 0.15 seconds Cpu Time = 0.07 seconds
fit1 : Real Time = 0.18 seconds Cpu Time = 0.17 seconds
tornado : Real Time = 0.00 seconds Cpu Time = 0.01 seconds
na49 : Real Time = 0.02 seconds Cpu Time = 0.02 seconds
geometry : Real Time = 0.25 seconds Cpu Time = 0.08 seconds
na49view : Real Time = 0.01 seconds Cpu Time = 0.01 seconds
ntuple1 : Real Time = 0.28 seconds Cpu Time = 0.27 seconds
TOTAL : Real Time = 1.15 seconds Cpu Time = 0.89 seconds
---------------ROOT 6.07/09 benchmarks summary (in ROOTMARKS)-----
For comparison, a Pentium IV 2.4Ghz is benchmarked at 600 ROOTMARKS
hsimple = 1028.10 RealMARKS, = 988.24 CpuMARKS
hsum = 1053.74 RealMARKS, = 1000.00 CpuMARKS
fillrandom = 77.65 RealMARKS, = 85.71 CpuMARKS
fit1 = 135.52 RealMARKS, = 105.88 CpuMARKS
tornado = 12531.53 RealMARKS, = 2400.00 CpuMARKS
na49 = 47605.46 RealMARKS, = 41700.00 CpuMARKS
geometry = 448.26 RealMARKS, = 1350.00 CpuMARKS
na49view = 2181.82 RealMARKS, = 1800.00 CpuMARKS
ntuple1 = 623.28 RealMARKS, = 600.00 CpuMARKS
****************************************************
* Your machine is estimated at 1964.16 ROOTMARKS *
****************************************************
TCanvas* bench1 = 0;
void bexec(TString &dir,const char *macro)
{
if (gROOT->IsBatch()) printf("Processing benchmark: %s%s\n",dir.Data(),macro);
TPaveText *summary = (TPaveText*)bench1->GetPrimitive("TPave");
TText *tmacro = summary->GetLineWith(macro);
if (tmacro) tmacro->SetTextColor(4);
bench1->Modified(); bench1->Update();
gROOT->Macro(Form("%s%s",dir.Data(),macro));
TPaveText *summary2 = (TPaveText*)bench1->GetPrimitive("TPave");
TText *tmacro2 = summary2->GetLineWith(macro);
if (tmacro2) tmacro2->SetTextColor(2);
bench1->Modified(); bench1->Update();
}
void benchmarks() {
TString dir = gSystem->UnixPathName(__FILE__);
dir.ReplaceAll("benchmarks.C","");
dir.ReplaceAll("/./","/");
bench1 = new TCanvas("bench1","Benchmarks Summary",-1000,50,200,500);
TPaveText *summary = new TPaveText(0,0,1,1);
summary->SetTextAlign(12);
summary->SetTextSize(0.08);
summary->Draw();
summary->AddText(" graphics/framework.C");
summary->AddText(" hsimple.C");
summary->AddText(" hist/hsum.C");
summary->AddText(" graphics/formula1.C");
summary->AddText(" hist/fillrandom.C");
summary->AddText(" fit/fit1.C");
summary->AddText(" hist/h1draw.C");
summary->AddText(" graphs/graph.C");
summary->AddText(" graphs/gerrors.C");
summary->AddText(" graphics/tornado.C");
summary->AddText(" graphs/surfaces.C");
summary->AddText(" graphs/zdemo.C");
summary->AddText(" geom/geometry.C");
summary->AddText(" geom/na49view.C");
summary->AddText(" tree/ntuple1.C");
summary->AddText(" ");
bexec(dir,"graphics/framework.C");
bexec(dir,"hsimple.C");
bexec(dir,"hist/hsum.C");
bexec(dir,"graphics/formula1.C");
bexec(dir,"hist/fillrandom.C");
bexec(dir,"fit/fit1.C");
bexec(dir,"hist/h1draw.C");
bexec(dir,"graphs/graph.C");
bexec(dir,"graphs/gerrors.C");
bexec(dir,"graphics/tornado.C");
bexec(dir,"graphs/surfaces.C");
bexec(dir,"graphs/zdemo.C");
bexec(dir,"geom/geometry.C");
bexec(dir,"geom/na49view.C");
bexec(dir,"tree/ntuple1.C");
bexec(dir,"rootmarks.C");
}
Author
Rene Brun

Definition in file benchmarks.C.