[TrigT1RPChardware] Optimise performance by inlining frequently called trivial methods
Replace two incredibly frequently called member functions Matrix::bitstatus
and Matrix::inds
with local constexpr
static functions. A trivial change that speeds up the total time of Level-1 Trigger simulation by 25%, closes ATR-24773.
Since one of the methods was using a private static field of the class, I moved the private static fields to be public (no harm, they are still static const
).
Thanks to @fwinkl for the suggestion.
Tested with:
athenaHLT.py -c "setMenu='Dev_pp_run3_v1';doL1Sim=True;doEmptyMenu=True;" --dump-config-reload --nproc=10 -f /afs/cern.ch/work/r/rbielski/public/smallMenuPerfStudy/data18_13TeV.00360026.physics_EnhancedBias.mergedBS._0001.data TriggerJobOpts/runHLT_standalone.py