Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
benchmarks.C
Go to the documentation of this file.
1/// \file
2/// \ingroup tutorial_legacy
3/// This macro run several tests and produces an benchmark report.
4///
5/// \macro_image
6/// \macro_output
7/// \macro_code
8///
9/// \author Rene Brun
10
11TCanvas* bench1 = 0;
12
13void bexec(TString &dir,const char *macro)
14{
15 if (gROOT->IsBatch()) printf("Processing benchmark: %s%s\n",dir.Data(),macro);
16 TPaveText *summary = (TPaveText*)bench1->GetPrimitive("TPave");
17 TText *tmacro = summary->GetLineWith(macro);
18 if (tmacro) tmacro->SetTextColor(4);
19 bench1->Modified(); bench1->Update();
20
21 gROOT->Macro(Form("%s%s",dir.Data(),macro));
22
23 TPaveText *summary2 = (TPaveText*)bench1->GetPrimitive("TPave");
24 TText *tmacro2 = summary2->GetLineWith(macro);
25 if (tmacro2) tmacro2->SetTextColor(2);
26 bench1->Modified(); bench1->Update(); gSystem->ProcessEvents();
27
28}
29
30void benchmarks() {
31 TString dir = gSystem->UnixPathName(__FILE__);
32 dir.ReplaceAll("benchmarks.C","");
33 dir.ReplaceAll("/./","/");
34 dir.ReplaceAll("legacy","");
35 bench1 = new TCanvas("bench1","Benchmarks Summary",-1000,50,200,500);
36 TPaveText *summary = new TPaveText(0,0,1,1);
37 summary->SetTextAlign(12);
38 summary->SetTextSize(0.08);
39 summary->Draw();
40 summary->AddText(" graphics/framework.C");
41 summary->AddText(" hsimple.C");
42 summary->AddText(" hist/hsum.C");
43 summary->AddText(" graphics/formula1.C");
44 summary->AddText(" hist/fillrandom.C");
45 summary->AddText(" fit/fit1.C");
46 summary->AddText(" hist/h1ReadAndDraw.C");
47 summary->AddText(" graphs/graph.C");
48 summary->AddText(" graphs/gerrors.C");
49 summary->AddText(" graphics/tornado.C");
50 summary->AddText(" graphs/surfaces.C");
51 summary->AddText(" graphs/zdemo.C");
52 summary->AddText(" geom/geometry.C");
53 summary->AddText(" geom/na49view.C");
54 summary->AddText(" tree/ntuple1.C");
55 summary->AddText(" ");
56 bexec(dir,"graphics/framework.C");
57 bexec(dir,"hsimple.C");
58 bexec(dir,"hist/hsum.C");
59 bexec(dir,"graphics/formula1.C");
60 bexec(dir,"hist/fillrandom.C");
61 bexec(dir,"fit/fit1.C");
62 bexec(dir,"hist/h1ReadAndDraw.C");
63 bexec(dir,"graphs/graph.C");
64 bexec(dir,"graphs/gerrors.C");
65 bexec(dir,"graphics/tornado.C");
66 bexec(dir,"graphs/surfaces.C");
67 bexec(dir,"graphs/zdemo.C");
68 bexec(dir,"geom/geometry.C");
69 bexec(dir,"geom/na49view.C");
70 bexec(dir,"tree/ntuple1.C");
71 bexec(dir,"legacy/rootmarks.C");
72}
#define gROOT
Definition TROOT.h:406
char * Form(const char *fmt,...)
Formats a string in a circular formatting buffer.
Definition TString.cxx:2489
R__EXTERN TSystem * gSystem
Definition TSystem.h:555
virtual void SetTextAlign(Short_t align=11)
Set the text alignment.
Definition TAttText.h:42
virtual void SetTextColor(Color_t tcolor=1)
Set the text color.
Definition TAttText.h:44
virtual void SetTextSize(Float_t tsize=1)
Set the text size.
Definition TAttText.h:47
The Canvas class.
Definition TCanvas.h:23
void Update() override
Update canvas pad buffers.
Definition TCanvas.cxx:2483
void Modified(Bool_t flag=true) override
Mark pad modified Will be repainted when TCanvas::Update() will be called next time.
Definition TPad.cxx:7298
TObject * GetPrimitive(const char *name) const override
Get primitive.
Definition TPad.cxx:2930
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.
void Draw(Option_t *option="") override
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:139
const char * Data() const
Definition TString.h:376
TString & ReplaceAll(const TString &s1, const TString &s2)
Definition TString.h:704
virtual const char * UnixPathName(const char *unixpathname)
Convert from a local pathname to a Unix pathname.
Definition TSystem.cxx:1063
virtual Bool_t ProcessEvents()
Process pending events (GUI, timers, sockets).
Definition TSystem.cxx:416
Base class for several text objects.
Definition TText.h:22