ComponentAccumulator: optimize mergeSequences
The mergeSequences
method showed a hotspot in getattr
as the code is comparing the properties of all sequences to be merged. Optimize by:
- only compare the actually set properties rather than all of them
- use
_properties
instead ofgetattr
to speed up access
The code deliberately uses []
for dictionary access and catches 'KeyError' instead of using get
as the former is faster for the normal case where all keys are available.
This speeds up the (Dev_pp_run3_v1) trigger menu generation by 40 seconds (10%).
Relates to ATR-26582.
cc @tbold