Loading [MathJax]/extensions/tex2jax.js
Logo ROOT   6.16/01
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.

hsimple : Real Time = 0.07 seconds Cpu Time = 0.07 seconds
(TFile *) 0x55f4e36c6420
hsum : Real Time = 0.03 seconds Cpu Time = 0.03 seconds
Object statistics
class cnt on heap size total size heap size
================================================================================
TList 146 146 104 15184 15184
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 164 164 96 15744 15744
TUnixSystem 1 1 648 648 648
TOrdCollection 5 5 72 360 360
--------------------------------------------------------------------------------
Total: 322 321 1936 32952 32248
================================================================================
fillrandom: Real Time = 0.06 seconds Cpu Time = 0.05 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=177.666 FROM MIGRAD STATUS=CONVERGED 151 CALLS 152 TOTAL
EDM=6.30217e-09 STRATEGY= 1 ERROR MATRIX ACCURATE
EXT PARAMETER STEP FIRST
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 p0 3.34990e+01 5.34281e-01 2.83156e-03 1.25011e-04
2 p1 3.98983e+00 1.73115e-02 9.00733e-05 -2.34100e-03
3 p2 9.99726e-01 1.27236e-02 5.55791e-05 1.07696e-03
4 p3 6.11154e+01 1.31342e+00 8.16441e-03 7.44305e-05
fit1 : Real Time = 0.08 seconds Cpu Time = 0.08 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.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
****************************************
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.15 seconds Cpu Time = 0.16 seconds
---------------ROOT 6.16/01 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.06 seconds Cpu Time = 0.05 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.15 seconds Cpu Time = 0.16 seconds
TOTAL : Real Time = 0.44 seconds Cpu Time = 0.43 seconds
---------------ROOT 6.16/01 benchmarks summary (in ROOTMARKS)-----
For comparison, a Pentium IV 2.4Ghz is benchmarked at 600 ROOTMARKS
hsimple = 2610.38 RealMARKS, = 2400.00 CpuMARKS
hsum = 3031.64 RealMARKS, = 3000.00 CpuMARKS
fillrandom = 204.82 RealMARKS, = 120.00 CpuMARKS
fit1 = 287.70 RealMARKS, = 225.00 CpuMARKS
tornado = 28036.79 RealMARKS, = inf CpuMARKS
na49 = 78017.03 RealMARKS, = inf CpuMARKS
geometry = 3450.78 RealMARKS, = 3600.00 CpuMARKS
na49view = 3162.33 RealMARKS, = 1800.00 CpuMARKS
ntuple1 = 1143.73 RealMARKS, = 1012.50 CpuMARKS
****************************************************
* Your machine is estimated at 4598.18 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");
}
#define gROOT
Definition: TROOT.h:410
char * Form(const char *fmt,...)
R__EXTERN TSystem * gSystem
Definition: TSystem.h:540
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:31
virtual void Update()
Update canvas pad buffers.
Definition: TCanvas.cxx:2286
void Modified(Bool_t flag=1)
Definition: TPad.h:415
virtual TObject * GetPrimitive(const char *name) const
Get primitive.
Definition: TPad.cxx:2847
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.
Definition: TPaveText.cxx:182
virtual void Draw(Option_t *option="")
Draw this pavetext with its current attributes.
Definition: TPaveText.cxx:233
virtual TText * GetLineWith(const char *text) const
Get Pointer to first containing string text in this pavetext.
Definition: TPaveText.cxx:289
Basic string class.
Definition: TString.h:131
const char * Data() const
Definition: TString.h:364
TString & ReplaceAll(const TString &s1, const TString &s2)
Definition: TString.h:687
virtual const char * UnixPathName(const char *unixpathname)
Convert from a Unix pathname to a local pathname.
Definition: TSystem.cxx:1053
virtual Bool_t ProcessEvents()
Process pending events (GUI, timers, sockets).
Definition: TSystem.cxx:425
Base class for several text objects.
Definition: TText.h:23
Author
Rene Brun

Definition in file benchmarks.C.