Log of /trunk/tree/tree/inc/TBasketSQL.h
Parent Directory
Revision
35231 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Sep 10 17:59:10 2010 UTC (4 years, 4 months ago) by
pcanal
File length: 2283 byte(s)
Diff to
previous 26606
Dramatically reduce the amount of memory allocation induces by the management of the TBasket and TBuffer
for each branch. Instead of creating one TBasket object and one TBuffer object and its associated memory buffer
for each onfile basket of each branch, we now create only one TBasket and one TBuffer object for the lifetime of
each branch. The memory buffer associated with the TBuffer object is also created once and rarely reallocated;
it is reallocated only when the buffer size is reset (for example by the AutoFlush mechanism) and when the user
object do not fit in the currently allocated memory (but we do not shrink it after that. The same minization
is applied to the scratch area used to read the compressed version of a basket from the file.
In TBasket introduce new data member fCompressedBuffer and fCompressedSize to keep track of the scratch memory
area used to read compressed data from the file (Even though we already have fBufferRef and fBuffer from TKey,
they are too tied together to properly used in the case of long live TBasket).
Add a TBasket::Reset member function to return the basket to its original 'unread' or 'unfilled' state.
Add TBranch::GetFreshBasket to factor out the code deciding whether to create a new TBasket object or
to reuse an existing one.
Revision
26606 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Dec 2 20:36:09 2008 UTC (6 years, 1 month ago) by
pcanal
File length: 2255 byte(s)
Diff to
previous 22902
Following Igor Smirnov analysis fix several memory leaks, add checks for null pointer dereference, fix or add copy constructor and assignment operator when applicable, make the copy constructor and assignment operator private when the objects are not intended to be copiable.
Revision
12483 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Added
Mon Aug 15 21:29:58 2005 UTC (9 years, 5 months ago) by
pcanal
Original Path:
trunk/tree/inc/TBasketSQL.h
File length: 2126 byte(s)
First version of TTreeSQL facility.
This allow the storing and restoring of TTree into an SQL database
TSQLServer *dbserver = TSQLServer::Connect("mysql://localhost:3306/rootDev","rootdevel", "r00tg6ys");
dbserver->Query("drop table ntuple;");
ntuple = new TTreeSQL(dbserver, "rootDev", "ntuple");
If the database contain a table named ntuple, this will connect to it
and let you use any of TTree functionality on (Scan, Draw, etc.)
If the database does not contain a table named ntuple, it will created
once you called the first Fill on the TTree.
This version supports the leaflist type of branches.
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.