ROOT Version: 6.40.00+
Platform: Various
Compiler: Various
Hello dear forum,
For a while I have been wondering if there is a ROOT-native tool to check for RDF which component takes the most time. Lately, I have been trying to optimise some analysis code and have found that significantly reducing the amount of Defines is not as impactful as I would have expected. I use 10 threads, which for this code amounts to ~5e4 evt/s. The Describe summary:
Property Value
-------- -----
Columns in total 935
Columns from defines 52
Event loops run 1
Processing slots 10
So I am making sure I am not accidentally running the loop several times. About 30 filters are booked and 300 histograms are produced (the same ~10 per filter). I have a few ideas what could cause the bottleneck but without some performance diagnostic, it is hard to tell.
Of course there are the classic profiling tools (val-/callgrind, perf, gprof, …), but I wonder if RDF (or ROOT in general) might have something inbuilt, which could be especially convenient for C macros. Especially if the bottleneck is file reading speed (there is a lot of TChaining going on), the profilers might not show that.