Loading [MathJax]/extensions/tex2jax.js
Logo ROOT  
Reference Guide
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Loading...
Searching...
No Matches
benchmarks.C File Reference

Detailed Description

This macro run several tests and produces an benchmark report.

hsimple : Real Time = 0.08 seconds Cpu Time = 0.08 seconds
(TFile *) 0x560c66bfbe50
hsum : Real Time = 0.03 seconds Cpu Time = 0.03 seconds
Object statistics
class cnt on heap size total size heap size
================================================================================
TList 136 136 104 14144 14144
TObjectTable 1 1 32 32 32
TROOT 1 0 728 728 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 153 153 96 14688 14688
TUnixSystem 1 1 672 672 672
TOrdCollection 5 5 72 360 360
--------------------------------------------------------------------------------
Total: 301 300 1984 30904 30176
================================================================================
fillrandom: Real Time = 0.12 seconds Cpu Time = 0.12 seconds
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=195.212 FROM MIGRAD STATUS=CONVERGED 145 CALLS 146 TOTAL
EDM=7.42437e-08 STRATEGY= 1 ERROR MATRIX ACCURATE
EXT PARAMETER STEP FIRST
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 p0 3.33851e+01 5.39411e-01 2.99420e-03 7.69952e-04
2 p1 4.01785e+00 1.69624e-02 9.28592e-05 7.80591e-03
3 p2 9.73471e-01 1.24357e-02 5.70778e-05 2.38525e-02
4 p3 6.37742e+01 1.32372e+00 8.67585e-03 1.90629e-04
fit1 : Real Time = 0.09 seconds Cpu Time = 0.09 seconds
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
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
tornado : Real Time = 0.00 seconds Cpu Time = 0.01 seconds
na49 : Real Time = 0.01 seconds Cpu Time = 0.01 seconds
geometry : Real Time = 0.03 seconds Cpu Time = 0.03 seconds
na49view : Real Time = 0.01 seconds Cpu Time = 0.01 seconds
****************************************
Minimizer is Linear / Migrad
Chi2 = 16.5378
NDf = 68
p0 = 1.04821 +/- 0.226552
p1 = 0.0133784 +/- 0.0420448
p2 = 0.956034 +/- 0.0245116
ntuple1 : Real Time = 0.18 seconds Cpu Time = 0.18 seconds
---------------ROOT 6.24/09 benchmarks summary--------------------
hsimple : Real Time = 0.08 seconds Cpu Time = 0.08 seconds
hsum : Real Time = 0.03 seconds Cpu Time = 0.03 seconds
fillrandom: Real Time = 0.12 seconds Cpu Time = 0.12 seconds
fit1 : Real Time = 0.09 seconds Cpu Time = 0.09 seconds
tornado : Real Time = 0.00 seconds Cpu Time = 0.01 seconds
na49 : Real Time = 0.01 seconds Cpu Time = 0.01 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.18 seconds Cpu Time = 0.18 seconds
TOTAL : Real Time = 0.54 seconds Cpu Time = 0.56 seconds
---------------ROOT 6.24/09 benchmarks summary (in ROOTMARKS)-----
For comparison, a Pentium IV 2.4Ghz is benchmarked at 600 ROOTMARKS
hsimple = 2183.82 RealMARKS, = 2100.00 CpuMARKS
hsum = 3198.94 RealMARKS, = 3000.00 CpuMARKS
fillrandom = 103.43 RealMARKS, = 50.00 CpuMARKS
fit1 = 270.08 RealMARKS, = 200.00 CpuMARKS
tornado = 29012.94 RealMARKS, = 2400.00 CpuMARKS
na49 = 71026.38 RealMARKS, = 83400.00 CpuMARKS
geometry = 3504.68 RealMARKS, = 3600.00 CpuMARKS
na49view = 3537.84 RealMARKS, = 1800.00 CpuMARKS
ntuple1 = 972.73 RealMARKS, = 900.00 CpuMARKS
****************************************************
* Your machine is estimated at 3636.40 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("/./","/");
dir.ReplaceAll("legacy","");
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,"legacy/rootmarks.C");
}
#define gROOT
Definition TROOT.h:406
char * Form(const char *fmt,...)
R__EXTERN TSystem * gSystem
Definition TSystem.h:559
virtual void SetTextAlign(Short_t align=11)
Set the text alignment.
Definition TAttText.h:41
virtual void SetTextColor(Color_t tcolor=1)
Set the text color.
Definition TAttText.h:43
virtual void SetTextSize(Float_t tsize=1)
Set the text size.
Definition TAttText.h:46
The Canvas class.
Definition TCanvas.h:23
void Update() override
Update canvas pad buffers.
Definition TCanvas.cxx:2504
void Modified(Bool_t flag=1) override
Definition TPad.h:414
TObject * GetPrimitive(const char *name) const override
Get primitive.
Definition TPad.cxx:2891
A Pave (see TPave) with text, lines or/and boxes inside.
Definition TPaveText.h:21
virtual TText * AddText(Double_t x1, Double_t y1, const char *label)
Add a new Text line to this pavetext at given coordinates.
virtual void Draw(Option_t *option="")
Draw this pavetext with its current attributes.
virtual TText * GetLineWith(const char *text) const
Get Pointer to first containing string text in this pavetext.
Basic string class.
Definition TString.h:136
const char * Data() const
Definition TString.h:369
TString & ReplaceAll(const TString &s1, const TString &s2)
Definition TString.h:692
virtual const char * UnixPathName(const char *unixpathname)
Convert from a local pathname to a Unix pathname.
Definition TSystem.cxx:1061
virtual Bool_t ProcessEvents()
Process pending events (GUI, timers, sockets).
Definition TSystem.cxx:417
Base class for several text objects.
Definition TText.h:22
Author
Rene Brun

Definition in file benchmarks.C.