[root] / trunk / tree / treeplayer / inc / TTreePerfStats.h Repository:
ViewVC logotype

Log of /trunk/tree/treeplayer/inc/TTreePerfStats.h

Parent Directory Parent Directory


Links to HEAD: (view) (download) (as text) (annotate)
Sticky Revision:

Revision 44507 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 4 12:30:41 2012 UTC (2 years, 7 months ago) by axel
File length: 6469 byte(s)
Diff to previous 38055
Remove
  using namespace std;
from Riostream.h, which has huge consequences for all of ROOT.
Riostream.h is now a simple wrapper for fstream, iostream, iomanip for backward compatibility; Riosfwd.h simply wraps iosfwd.

Because of templates and their inline functions, Riostream.h needed to be included in headers, too (e.g. TParameter.h), which violated the assumption that Riostream.h is not exposing its using namespace std to headers.
ROOT now requires R__ANSISTREAM, R__SSTREAM, which does not change the set of supported compilers.

Without "using namespace std", several identifiers are now prefixed by std::; e.g. roofit/* source files now have a using namespace std to keep their coding style.
TFile::MakeProject() now generates "using namespace std" to convert the CINT-style class names into C++ ones.

Revision 38055 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Feb 11 22:06:25 2011 UTC (3 years, 11 months ago) by pcanal
File length: 6464 byte(s)
Diff to previous 31417
Introduce TVirtualPerfStats::FileUnzipEvent to be able to keep track of the cost of unzipping and use this in TTreePerfStas and TBakset ... This give a good picture of where the time in unzip or in unstreaming

Revision 31417 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 25 14:07:51 2009 UTC (5 years, 1 month ago) by brun
File length: 6150 byte(s)
Diff to previous 31024
Implement suggestions from Axel:
 -Browse method
 -improved layout

Revision 31024 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Nov 8 16:33:36 2009 UTC (5 years, 2 months ago) by brun
File length: 6093 byte(s)
Diff to previous 31020
Display the RAW IO graph too

Revision 31020 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Nov 6 20:40:49 2009 UTC (5 years, 2 months ago) by brun
File length: 6075 byte(s)
Diff to previous 31010
Change fMachine to fHostInfo.
Fix destructor and SavePrimitive to delete and generate code for fHostInfo

Revision 31010 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Nov 6 15:21:44 2009 UTC (5 years, 2 months ago) by brun
File length: 5988 byte(s)
Diff to previous 30979
Add new members to keep the details (machine, OS, ROOT version, date/time of the run)
on which the analysis is done with TTreePerfStats.
When drawing the object on a different machine, the original identification is preserved.

Revision 30979 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Nov 5 09:06:35 2009 UTC (5 years, 2 months ago) by brun
File length: 5755 byte(s)
Diff to previous 30978
New improvements and changes in the graphics format.
The Draw or Print functions print the following information:
//   TreeCache = TTree cache size in MBytes
//   N leaves  = Number of leaves in the TTree
//   ReadTotal = Total number of zipped bytes read
//   ReadUnZip = Total number of unzipped bytes read
//   ReadCalls = Total number of disk reads
//   ReadSize  = Average read size in KBytes
//   Readahead = Readahead size in KBytes
//   Readextra = Readahead overhead in percent
//   Real Time = Real Time in seconds
//   CPU  Time = CPU Time in seconds
//   Disk Time = Real Time spent in pure raw disk IO
//   Disk IO   = Raw disk IO speed in MBytes/second
//   ReadUZRT  = Unzipped MBytes per RT second
//   ReadUZCP  = Unipped MBytes per CP second
//   ReadRT    = Zipped MBytes per RT second
//   ReadCP    = Zipped MBytes per CP second

Revision 30978 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Nov 5 01:38:48 2009 UTC (5 years, 2 months ago) by rdm
File length: 5371 byte(s)
Diff to previous 30973
change proctime argument name to reflect new meaning of start time.

Revision 30973 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 4 20:19:15 2009 UTC (5 years, 2 months ago) by brun
File length: 5386 byte(s)
Diff to previous 30954
Extend functionality of TTreePerfStats.
In addition to the IO graph, a time graph is superimposed. Thanks to
this graph it is easy to see if the real time is linear with the IO.

I also added the following documentation for this class:

// The function FileReadEvent is called from TFile::ReadBuffer.
// For each call the following information is stored in fGraphIO
//     - x[i]  = Tree entry number
//     - y[i]  = file position
//     - ey[i] = 0.5*number of bytes read
// For each call the following information is stored in fGraphTime
//     - x[i]  = Tree entry number
//     - y[i]  = Time now
//     - ey[i] = 0.5*readtime, eg timenow - start
// The TTreePerfStats object can be saved in a ROOT file in such a way that
// its inspection can be done outside the job that generated it.
//
//       Example of use                                                 
// {
//   TFile *f = TFile::Open("RelValMinBias-GEN-SIM-RECO.root");
//   T = (TTree*)f->Get("Events");
//   Long64_t nentries = T->GetEntries();
//   T->SetCacheSize(10000000);
//   T->SetCacheEntryRange(0,nentries);
//   T->AddBranchToCache("*");
//
//   TTreePerfStats *ps= new TTreePerfStats("ioperf",T);
//
//   for (Int_t i=0;i<nentries;i++) {
//      T->GetEntry(i);
//   }
//   ps->SaveAs("cmsperf.root");
// }
//
// then, in a root interactive session, one can do:
//    root > TFile f("cmsperf.root");
//    root > ioperf->Draw();
//    root > ioperf->Print();

Revision 30954 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 3 09:11:41 2009 UTC (5 years, 2 months ago) by brun
File length: 5015 byte(s)
Diff to previous 30945
Add a new getter and setter
   virtual void SetNumEvents(Long64_t num) = 0;
   virtual Long64_t GetNumEvents() const = 0;

Revision 30945 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 2 15:32:02 2009 UTC (5 years, 2 months ago) by brun
File length: 4916 byte(s)
Diff to previous 30935
TTreePerfStats can now be made persistent, ie the result of a run can be saved
to a file with
   TTreePerStats::SaveAs(filename)
and inspected in a new ROOT session with
   TFile f("filename")
   ioperf.Draw()

TTreePerfStats::SavePrimitive is also implemented such that the C++ code
from a canvas holding a TTreePerfStats object may be generated.

Revision 30935 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 30 21:10:31 2009 UTC (5 years, 2 months ago) by rdm
File length: 2650 byte(s)
Diff to previous 30925
corrections in comments.

Revision 30925 - (view) (download) (as text) (annotate) - [select for diffs]
Added Fri Oct 30 12:49:51 2009 UTC (5 years, 2 months ago) by brun
File length: 2650 byte(s)
Add a new class to monitor the TTree I/O performance.
An example of use is given below:

void testcms() {
   gSystem->Load("cmsl/cmsl"); //generated with MakeProject with corrections
   TFile *f = TFile::Open("RelValMinBias-GEN-SIM-RECO.root");
   T = (TTree*)f->Get("Events");
   Long64_t nentries = T->GetEntries();
   T->SetCacheSize(15000000);
   T->SetCacheEntryRange(0,nentries);
   T->AddBranchToCache("*");
   
   TTreePerfStats *ps= new TTreePerfStats(T);
   
   for (Int_t i=0;i<nentries;i++) {
      if (i%100 == 0) printf("i=%d\n",i);
      T->GetEntry(i);
   }
   ps->Draw();
   ps->Print();
}

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

Sort log by:

Subversion Admin
ViewVC Help
Powered by ViewVC 1.0.9