Skip to content

Speed up PyConf for deep configurations

Alex Pearce requested to merge apearce-113 into master

As spotted in !305 (merged), complex configurations can dramatically slow down configuration time. The full HLT2 reconstruction takes over ten minutes!

This was caused by the full dependent data flow tree being configured and graphed for every single component; as each component can refer to components already configured/graphed, lots of work was unnecessarily duplicated. This MR caches the configuration generation and keeps a record of previously-graphed components, preventing duplicate ascents up the data flow tree.

@jonrob please check that these changes speed up the configuration for you. I ran on your MR, sans the PyConf changes, using the Python profiling options file and got a configuration time of around 13 seconds. This is still a lot slower than I would like it, by an order of magnitude, but it's workable.

@nnolte please review.

Closes #113 (closed).

Merge request reports