Skip to content

[TrigT1RPChardware] Optimise performance by inlining frequently called trivial methods

Rafal Bielski requested to merge rbielski/athena:trigt1rpc-matrix-optim into master

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

Producing the following result:

Edited by Rafal Bielski

Merge request reports