Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
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 
11 TCanvas* bench1 = 0;
12 
13 void 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 
30 void 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/h1draw.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/h1draw.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 }