Loading [MathJax]/extensions/tex2jax.js
Logo ROOT   6.12/07
Reference Guide
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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/build/workspace/root-makedoc-v612/rootspi/rdoc/src/v6-12-00-patches/tutorials/benchmarks.C...
Processing benchmark: /mnt/build/workspace/root-makedoc-v612/rootspi/rdoc/src/v6-12-00-patches/tutorials/graphics/framework.C
Processing benchmark: /mnt/build/workspace/root-makedoc-v612/rootspi/rdoc/src/v6-12-00-patches/tutorials/hsimple.C
hsimple : Real Time = 0.08 seconds Cpu Time = 0.07 seconds
(TFile *) 0x2e69380
Processing benchmark: /mnt/build/workspace/root-makedoc-v612/rootspi/rdoc/src/v6-12-00-patches/tutorials/hist/hsum.C
hsum : Real Time = 0.04 seconds Cpu Time = 0.03 seconds
Processing benchmark: /mnt/build/workspace/root-makedoc-v612/rootspi/rdoc/src/v6-12-00-patches/tutorials/graphics/formula1.C
Object statistics
class cnt on heap size total size heap size
================================================================================
TList 139 139 104 14456 14456
TObjectTable 1 1 32 32 32
TROOT 1 0 672 672 0
TPluginManager 1 1 40 40 40
THashTable 1 1 72 72 72
THashList 1 1 112 112 112
TEnv 1 1 56 56 56
TEnvRec 155 155 96 14880 14880
TUnixSystem 1 1 648 648 648
TOrdCollection 5 5 72 360 360
--------------------------------------------------------------------------------
Total: 306 305 1904 31328 30656
================================================================================
Processing benchmark: /mnt/build/workspace/root-makedoc-v612/rootspi/rdoc/src/v6-12-00-patches/tutorials/hist/fillrandom.C
fillrandom: Real Time = 0.05 seconds Cpu Time = 0.04 seconds
Processing benchmark: /mnt/build/workspace/root-makedoc-v612/rootspi/rdoc/src/v6-12-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=208.946 FROM MIGRAD STATUS=CONVERGED 150 CALLS 151 TOTAL
EDM=1.0681e-06 STRATEGY= 1 ERROR MATRIX ACCURATE
EXT PARAMETER STEP FIRST
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 p0 3.28169e+01 5.39754e-01 3.06400e-03 -2.20763e-03
2 p1 4.00921e+00 1.71703e-02 9.79184e-05 -3.06960e-02
3 p2 9.84098e-01 1.30567e-02 6.17324e-05 -4.04514e-02
4 p3 6.46663e+01 1.34272e+00 9.06115e-03 -8.26048e-04
fit1 : Real Time = 0.08 seconds Cpu Time = 0.08 seconds
Processing benchmark: /mnt/build/workspace/root-makedoc-v612/rootspi/rdoc/src/v6-12-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/build/workspace/root-makedoc-v612/rootspi/rdoc/src/v6-12-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/build/workspace/root-makedoc-v612/rootspi/rdoc/src/v6-12-00-patches/tutorials/graphs/gerrors.C
Processing benchmark: /mnt/build/workspace/root-makedoc-v612/rootspi/rdoc/src/v6-12-00-patches/tutorials/graphics/tornado.C
tornado : Real Time = 0.00 seconds Cpu Time = 0.00 seconds
Processing benchmark: /mnt/build/workspace/root-makedoc-v612/rootspi/rdoc/src/v6-12-00-patches/tutorials/graphs/surfaces.C
Processing benchmark: /mnt/build/workspace/root-makedoc-v612/rootspi/rdoc/src/v6-12-00-patches/tutorials/graphs/zdemo.C
Processing benchmark: /mnt/build/workspace/root-makedoc-v612/rootspi/rdoc/src/v6-12-00-patches/tutorials/geom/geometry.C
na49 : Real Time = 0.01 seconds Cpu Time = 0.00 seconds
geometry : Real Time = 0.03 seconds Cpu Time = 0.03 seconds
Processing benchmark: /mnt/build/workspace/root-makedoc-v612/rootspi/rdoc/src/v6-12-00-patches/tutorials/geom/na49view.C
na49view : Real Time = 0.01 seconds Cpu Time = 0.01 seconds
Processing benchmark: /mnt/build/workspace/root-makedoc-v612/rootspi/rdoc/src/v6-12-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.13 seconds Cpu Time = 0.13 seconds
Processing benchmark: /mnt/build/workspace/root-makedoc-v612/rootspi/rdoc/src/v6-12-00-patches/tutorials/rootmarks.C
---------------ROOT 6.12/07 benchmarks summary--------------------
hsimple : Real Time = 0.08 seconds Cpu Time = 0.07 seconds
hsum : Real Time = 0.04 seconds Cpu Time = 0.03 seconds
fillrandom: Real Time = 0.05 seconds Cpu Time = 0.04 seconds
fit1 : Real Time = 0.08 seconds Cpu Time = 0.08 seconds
tornado : Real Time = 0.00 seconds Cpu Time = 0.00 seconds
na49 : Real Time = 0.01 seconds Cpu Time = 0.00 seconds
geometry : Real Time = 0.03 seconds Cpu Time = 0.03 seconds
na49view : Real Time = 0.01 seconds Cpu Time = 0.01 seconds
ntuple1 : Real Time = 0.13 seconds Cpu Time = 0.13 seconds
TOTAL : Real Time = 0.43 seconds Cpu Time = 0.39 seconds
---------------ROOT 6.12/07 benchmarks summary (in ROOTMARKS)-----
For comparison, a Pentium IV 2.4Ghz is benchmarked at 600 ROOTMARKS
hsimple = 2276.62 RealMARKS, = 2400.00 CpuMARKS
hsum = 2440.57 RealMARKS, = 3000.00 CpuMARKS
fillrandom = 249.77 RealMARKS, = 150.00 CpuMARKS
fit1 = 287.54 RealMARKS, = 225.00 CpuMARKS
tornado = 23656.54 RealMARKS, = inf CpuMARKS
na49 = 87257.09 RealMARKS, = inf CpuMARKS
geometry = 3377.68 RealMARKS, = 3600.00 CpuMARKS
na49view = 2877.74 RealMARKS, = 1800.00 CpuMARKS
ntuple1 = 1310.08 RealMARKS, = 1246.15 CpuMARKS
****************************************************
* Your machine is estimated at 4889.61 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(); gSystem->ProcessEvents();
}
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.