AthenaCommon+AthenaConfiguration: speedup gatherProps
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).