AthenaMonitoringKernel: Performance improvement for 1D histograms
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.