Log of /trunk/tree/treeplayer/src/TTreePerfStats.cxx
Parent Directory
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: 19940 byte(s)
Diff to
previous 41323
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: 19762 byte(s)
Diff to
previous 36345
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
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: 17085 byte(s)
Diff to
previous 30983
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: 16119 byte(s)
Diff to
previous 30973
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
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: 13883 byte(s)
Diff to
previous 30945
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
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: 9966 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
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: 4391 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.