Skip to content

AthenaMonitoringKernel: Performance improvement for 1D histograms

Frank Winklmeier requested to merge fwinkl/athena:mon_perf into master

A first set of fixes to improve the performance of the monitoring framework. There is currently significant overhead (factor 10 or more depending on the use-case). See ATR-21202 for an example as reported by @rbielski.

This MR is mainly dealing with reducing the overhead on 1D histograms for the case when no cut mask and/or weight is being used. Use lambda's wherever possible instead of function pointers to take advantage of compiler optimizations. However, much more fundamental changes will be required to get the number of memory allocations reduced.

In addition:

  • Add GenericMonPerf_test.exe test executable that can be used to compare basic filling operations with ROOT (see --help for options). It can also be used to profile the code with valgrind/callgrind. See the header of the source file for details.

cc @rbielski @tbold @ponyisi @cburton

Merge request reports