Re: [ROOT] Performace Tree Reading

From: Rene Brun (Rene.Brun@cern.ch)
Date: Mon Nov 20 2000 - 16:52:19 MET


Hi Norbert,
If you read only 10 per cent of the events and you have 10 events per buffer,
you still need to read all the buffers. You should make the buffer size
smaller if you want to gain in real time.

There is a compromise to make between :
 - the optimum for sequential read (large buffers)
 - the optimum for selective read (small buffers)

Rene Brun


Norbert Danneberg wrote:
> 
> Hi ,
> 
> I recently changed my code to use Eventlists before looping over a TChain.
> First I create a Eventlist via TChain::Draw(">>elis","selction")
> Second I read from the Tree only entries which are in the eventlist
> via
> for (Int_t i =0; i< NSelectedEvents; i++){
>     GetEvent(MyList->GetEntry(i));
> }
> The list contains approx 10 percent of the events in the TChain. (20 Mio)
> It seems that the correct events are extracted from the tree, but
> the performace does not improve. The running process uses approx
> only 18 - 20 percent of the availible CPU time. I guess root tries to
> find the entry but since ist is not the next in the tree but somwhere
> else it has to access the disk for each GetEntry().
> 
> Does it help to increase the BasketBuffer Size ?
> Or maybe fmaxvirtual size ?
> 
> Thanks
> 
> Norbert
> 
> --
> 
> Norbert Danneberg
> 
> ETH Zurich - Institute for Particle Physics
>   Laboratory for Nuclear Physics          Phone.: +41-1-633-2034
>   Hoenggerberg                            Fax.:   +41-1-633-1067
>   CH-8093 Zurich
> 
> ETH Zurich - Institute for Particle Physics
>   Paul Scherrer Institute                 Phone.: +41-56-310-3284
>   CH-5232 Villigen PSI                    Fax.:   +41-56-310-4362
> 
> email: Norbert.Danneberg@psi.ch



This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:37 MET