Re: [ROOT] Optimizing performance in Windows

From: Valeri Fine (fine@bnl.gov)
Date: Tue Feb 26 2002 - 16:22:53 MET


> Hi Rene,
>
> >
> > From the following line of ntCorr->Print():
> >
> > *Entries :  8595694 : Total =       275456000 bytes  File  Size =
> >          0
> >
> > I conclude that you did:
> >    TTree *ntCorr = new TTree(...
> >    TFile *f = new TFile(...
> > instead of
> >    TFile *f = new TFile(..
> >    TTree *ntCorr = new TTree(..
> >
> > In the first case, the Tree will be created in memory (275 MBytes!)
> > In the second case, buffers (baskets) will be dumped to the file
> > when full.
> > The memory requirements will be less than 1 Mbyte.
> >
>
> Yes, your conclusion is correct.  ntCorr is an ntuple containging
processed
> data - I sometimes spin through this and it is quite fast (compared to the
> input ntuple "nt".)  I quite enjoy the benefit of having the entire 275 MB
> in RAM!  Is there a way to tell root "I have a lot of memory, if you can
fit
> the ntuple into RAM, please do" without simple building the ntuple w/out a
> TFile
> first?

 Hello Ed,

If you want to keep everything in memory why do you want TTree  then ?
Just use the "normal" C++ object and save it out with TObject::Write method

Cheers , Valeri



This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:43 MET