Loading [MathJax]/extensions/tex2jax.js
Logo ROOT   6.08/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-v608/rootspi/rdoc/src/v6-08-00-patches/tutorials/benchmarks.C...
Processing benchmark: /mnt/build/workspace/root-makedoc-v608/rootspi/rdoc/src/v6-08-00-patches/tutorials/graphics/framework.C
Processing benchmark: /mnt/build/workspace/root-makedoc-v608/rootspi/rdoc/src/v6-08-00-patches/tutorials/hsimple.C
hsimple : Real Time = 0.07 seconds Cpu Time = 0.07 seconds
(TFile *) 0x563407c80d00
Processing benchmark: /mnt/build/workspace/root-makedoc-v608/rootspi/rdoc/src/v6-08-00-patches/tutorials/hist/hsum.C
hsum : Real Time = 0.03 seconds Cpu Time = 0.03 seconds
Processing benchmark: /mnt/build/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/build/workspace/root-makedoc-v608/rootspi/rdoc/src/v6-08-00-patches/tutorials/hist/fillrandom.C
fillrandom: Real Time = 0.04 seconds Cpu Time = 0.04 seconds
Processing benchmark: /mnt/build/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=255.48 FROM MIGRAD STATUS=CONVERGED 122 CALLS 123 TOTAL
EDM=4.64807e-09 STRATEGY= 1 ERROR MATRIX UNCERTAINTY 10.2 per cent
EXT PARAMETER STEP FIRST
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 p0 3.27071e+01 5.42412e-01 -6.32360e-04 1.16110e-05
2 p1 4.00009e+00 1.67310e-02 -1.06142e-06 -6.82284e-03
3 p2 9.92527e-01 1.32213e-02 5.15318e-06 1.51843e-03
4 p3 6.33528e+01 1.32838e+00 1.89837e-03 -3.62397e-06
fit1 : Real Time = 0.09 seconds Cpu Time = 0.09 seconds
Processing benchmark: /mnt/build/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/build/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/build/workspace/root-makedoc-v608/rootspi/rdoc/src/v6-08-00-patches/tutorials/graphs/gerrors.C
Processing benchmark: /mnt/build/workspace/root-makedoc-v608/rootspi/rdoc/src/v6-08-00-patches/tutorials/graphics/tornado.C
tornado : Real Time = 0.00 seconds Cpu Time = 0.00 seconds
Processing benchmark: /mnt/build/workspace/root-makedoc-v608/rootspi/rdoc/src/v6-08-00-patches/tutorials/graphs/surfaces.C
Processing benchmark: /mnt/build/workspace/root-makedoc-v608/rootspi/rdoc/src/v6-08-00-patches/tutorials/graphs/zdemo.C
Processing benchmark: /mnt/build/workspace/root-makedoc-v608/rootspi/rdoc/src/v6-08-00-patches/tutorials/geom/geometry.C
na49 : Real Time = 0.01 seconds Cpu Time = 0.00 seconds
geometry : Real Time = 0.05 seconds Cpu Time = 0.03 seconds
Processing benchmark: /mnt/build/workspace/root-makedoc-v608/rootspi/rdoc/src/v6-08-00-patches/tutorials/geom/na49view.C
na49view : Real Time = 0.00 seconds Cpu Time = 0.01 seconds
Processing benchmark: /mnt/build/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.13 seconds Cpu Time = 0.13 seconds
Processing benchmark: /mnt/build/workspace/root-makedoc-v608/rootspi/rdoc/src/v6-08-00-patches/tutorials/rootmarks.C
---------------ROOT 6.08/07 benchmarks summary--------------------
hsimple : Real Time = 0.07 seconds Cpu Time = 0.07 seconds
hsum : Real Time = 0.03 seconds Cpu Time = 0.03 seconds
fillrandom: Real Time = 0.04 seconds Cpu Time = 0.04 seconds
fit1 : Real Time = 0.09 seconds Cpu Time = 0.09 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.05 seconds Cpu Time = 0.03 seconds
na49view : Real Time = 0.00 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.40 seconds
---------------ROOT 6.08/07 benchmarks summary (in ROOTMARKS)-----
For comparison, a Pentium IV 2.4Ghz is benchmarked at 600 ROOTMARKS
hsimple = 2507.02 RealMARKS, = 2400.00 CpuMARKS
hsum = 3247.20 RealMARKS, = 3000.00 CpuMARKS
fillrandom = 269.01 RealMARKS, = 150.00 CpuMARKS
fit1 = 263.03 RealMARKS, = 200.00 CpuMARKS
tornado = 28118.24 RealMARKS, = inf CpuMARKS
na49 = 118686.58 RealMARKS, = inf CpuMARKS
geometry = 2281.10 RealMARKS, = 3600.00 CpuMARKS
na49view = 4542.02 RealMARKS, = 1800.00 CpuMARKS
ntuple1 = 1339.62 RealMARKS, = 1246.15 CpuMARKS
****************************************************
* Your machine is estimated at 4855.21 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.