Loading [MathJax]/extensions/tex2jax.js
Logo ROOT   6.14/05
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-v614/rootspi/rdoc/src/v6-14-00-patches/tutorials/benchmarks.C...
Processing benchmark: /mnt/build/workspace/root-makedoc-v614/rootspi/rdoc/src/v6-14-00-patches/tutorials/graphics/framework.C
Processing benchmark: /mnt/build/workspace/root-makedoc-v614/rootspi/rdoc/src/v6-14-00-patches/tutorials/hsimple.C
hsimple : Real Time = 0.06 seconds Cpu Time = 0.06 seconds
(TFile *) 0x1e0a850
Processing benchmark: /mnt/build/workspace/root-makedoc-v614/rootspi/rdoc/src/v6-14-00-patches/tutorials/hist/hsum.C
hsum : Real Time = 0.04 seconds Cpu Time = 0.04 seconds
Processing benchmark: /mnt/build/workspace/root-makedoc-v614/rootspi/rdoc/src/v6-14-00-patches/tutorials/graphics/formula1.C
Object statistics
class cnt on heap size total size heap size
================================================================================
TList 148 148 104 15392 15392
TObjectTable 1 1 32 32 32
TROOT 1 0 704 704 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 166 166 96 15936 15936
TUnixSystem 1 1 648 648 648
TOrdCollection 5 5 72 360 360
--------------------------------------------------------------------------------
Total: 326 325 1936 33352 32648
================================================================================
Processing benchmark: /mnt/build/workspace/root-makedoc-v614/rootspi/rdoc/src/v6-14-00-patches/tutorials/hist/fillrandom.C
fillrandom: Real Time = 0.04 seconds Cpu Time = 0.04 seconds
Processing benchmark: /mnt/build/workspace/root-makedoc-v614/rootspi/rdoc/src/v6-14-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=228.306 FROM MIGRAD STATUS=CONVERGED 124 CALLS 125 TOTAL
EDM=2.9409e-07 STRATEGY= 1 ERROR MATRIX UNCERTAINTY 4.1 per cent
EXT PARAMETER STEP FIRST
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 p0 3.28695e+01 5.29852e-01 3.80864e-03 -1.64534e-03
2 p1 4.00185e+00 1.74174e-02 -1.80013e-04 2.19473e-02
3 p2 9.87994e-01 1.24649e-02 3.96957e-05 -5.17266e-02
4 p3 6.38285e+01 1.32701e+00 4.51402e-03 -3.51647e-04
fit1 : Real Time = 0.08 seconds Cpu Time = 0.07 seconds
Processing benchmark: /mnt/build/workspace/root-makedoc-v614/rootspi/rdoc/src/v6-14-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-v614/rootspi/rdoc/src/v6-14-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-v614/rootspi/rdoc/src/v6-14-00-patches/tutorials/graphs/gerrors.C
Processing benchmark: /mnt/build/workspace/root-makedoc-v614/rootspi/rdoc/src/v6-14-00-patches/tutorials/graphics/tornado.C
tornado : Real Time = 0.00 seconds Cpu Time = 0.00 seconds
Processing benchmark: /mnt/build/workspace/root-makedoc-v614/rootspi/rdoc/src/v6-14-00-patches/tutorials/graphs/surfaces.C
Processing benchmark: /mnt/build/workspace/root-makedoc-v614/rootspi/rdoc/src/v6-14-00-patches/tutorials/graphs/zdemo.C
Processing benchmark: /mnt/build/workspace/root-makedoc-v614/rootspi/rdoc/src/v6-14-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.02 seconds
Processing benchmark: /mnt/build/workspace/root-makedoc-v614/rootspi/rdoc/src/v6-14-00-patches/tutorials/geom/na49view.C
na49view : Real Time = 0.01 seconds Cpu Time = 0.01 seconds
Processing benchmark: /mnt/build/workspace/root-makedoc-v614/rootspi/rdoc/src/v6-14-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.11 seconds Cpu Time = 0.11 seconds
Processing benchmark: /mnt/build/workspace/root-makedoc-v614/rootspi/rdoc/src/v6-14-00-patches/tutorials/rootmarks.C
---------------ROOT 6.14/05 benchmarks summary--------------------
hsimple : Real Time = 0.06 seconds Cpu Time = 0.06 seconds
hsum : Real Time = 0.04 seconds Cpu Time = 0.04 seconds
fillrandom: Real Time = 0.04 seconds Cpu Time = 0.04 seconds
fit1 : Real Time = 0.08 seconds Cpu Time = 0.07 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.02 seconds
na49view : Real Time = 0.01 seconds Cpu Time = 0.01 seconds
ntuple1 : Real Time = 0.11 seconds Cpu Time = 0.11 seconds
TOTAL : Real Time = 0.37 seconds Cpu Time = 0.35 seconds
---------------ROOT 6.14/05 benchmarks summary (in ROOTMARKS)-----
For comparison, a Pentium IV 2.4Ghz is benchmarked at 600 ROOTMARKS
hsimple = 3057.09 RealMARKS, = 2800.00 CpuMARKS
hsum = 2561.10 RealMARKS, = 2250.00 CpuMARKS
fillrandom = 291.98 RealMARKS, = 150.00 CpuMARKS
fit1 = 316.20 RealMARKS, = 257.14 CpuMARKS
tornado = 24857.59 RealMARKS, = inf CpuMARKS
na49 = 92604.69 RealMARKS, = inf CpuMARKS
geometry = 4440.15 RealMARKS, = 5400.00 CpuMARKS
na49view = 3287.07 RealMARKS, = 1800.00 CpuMARKS
ntuple1 = 1523.84 RealMARKS, = 1472.73 CpuMARKS
****************************************************
* Your machine is estimated at 5598.72 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.