Performance Tuning For ROOT-Based Analyses: The Magic Behind I/O, Trees, and PROOF

Axel Naumann
CERN

Analyzing data stored in a ROOT tree is one of the most common and one
of the most time consuming operations in HEP. Rumors show that there is
a whole alchemy of tweaks meant to increase performance with respect to
data throughput, data processing rates, and the layout of trees. I will
show the basics of ROOT I/O, of the internal design of TTrees, and the
idea behind ROOT's data processing setup (TSelector). It will allow you
to judge the quality of the performance enhancements that ROOT offers,
and that I will introduce in the second part: prefetching of data,
optimizing the layout of trees, and parallel processing using PROOF and
PROOF-lite.