[ROOT] Wierd I/O Speed Behaviour

From: Roger Moore (rwmoore@fnal.gov)
Date: Fri Sep 27 2002 - 17:58:55 MEST


Converting some analysis code from using a ROOT-tuple to using a ROOT Tree
(i.e. from individual variables in arrays to real objects) I've noted some
very strange behaviour with the readout speed.

With the old ROOT-tuple I could vastly increase the speed of the code by
turning off all branches and then just turning back on the branches that I
was interested in looking at.

However with the shift to the ROOT-Tree whose branches consist of
TClonesArray the exact reverse is true! When I turn off all the branches
except the one I am interested in the GetEntry() method of the tree takes
50-60ms to execute. However when I to not turn the branches off the time
taken for GetEntry() drops to ~3ms/event.

Does anyone understand what is going on here? I don't see how not
unpacking a branch can possibly slow the code down!

I'm using ROOT 3.03/07 and in both cases I only do SetBranchAddress (to a
TClonesArray) for the branches I am interested in reading out.

Roger



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