Skip to content

AthenaCommon+AthenaConfiguration: speedup gatherProps

Frank Winklmeier requested to merge fwinkl/athena:flatseq into 24.0

The property serialization in gatherProps for jobs with many sequences (e.g. trigger) was entirely dominated by the recursive sequence traversal.

Replace the flatSequencers by an iterator. This saves memory (~40 MB) and moreover gives direct access to the sequences/algorithms without having to find them a second time via the name. Also remove the algsCollection feature which does not seem to serve any purpose.

Replace the usage of flatSequencers in getEventAlgo and gatherProps by the new iterator. Also streamline the treatment of the "Members" property of sequences.

For a trigger job this reduces the property serialization from 30 to 10 seconds. No changes observed in the final property content. The only exception are algorithms that are not contained in any sequence (due to the removal of the algsCollection feature). But this should never happen and is likely a bug in the configuration (see ATR-28887).

cc @wlampl @tbold

Merge request reports