TriggerMenuMT: remove ComboHypoPool cache and merge CFSequence with CFSequenceCA (ATR-29181)
Adding more optimisations for Trigger Menu generation, following the list in ATR-29039:
- removed ComboHypoPool cache by using the functools.partial in makeCombo(): the comboHypos are first only stored as function generators, then instantiated in createSequence(), only once when the step is created. This avoids storing the algorithm instance in the pool ( ATR-29181)
- merging of CFSequence with CFSequenceCA classes to improve readability
I have compared the HLTJobOptions.json:
confTool.py --diff HLTJobOptions.json ../test_trigP1_v1PhysP1_T0Mon_grid/HLTJobOptions.json
Run with arguments:
confTool.py --diff HLTJobOptions.json ../test_trigP1_v1PhysP1_T0Mon_grid/HLTJobOptions.json
Step 1: reference file #components: 37797
Step 2: file to check #components: 37797
Legend:
Differences in components Settings in 1st file Settings in 2nd file
Component PerfMonMTSvc may differ
wallTimeOffset = 1724170574580.0 vs 1724170484360.0 <<
I have also run the promo script
prmon_plot.py --input prmon.athenaHLT.txt --xvar wtime --yvar vmem,pss,rss,swap --yunit GB
which generated the memory trends attached below:
before:
and after:
I don’t see differences in memory usage during the jobs, and I think this is expected since these changes are maintaining the same memory structure as before.
Expected comments from @fwinkl
Edited by Francesca Pastore