Skip to content

Optimized control flow

This merge implements automatic control flow generation for HLT2Line. The optimized control flow aims to enable early stopping of selection algorithms. For example: If one of the inputs of an NBodyCombiner has no output the other input(s) will always run unless the input algorithm is added to the control flow. By extending the control flow we can save computing on algorithms that run unnecessarily.

The generation works by picking one algorithm per data flow iteration, only one to avoid circular control flow. In case there is more than one algorithm the first one is picked. There is code for using counters to pick algorithms but is not included in this merge.

This method extends the average selection algorithms in the HLT2 control flow from 2 to 3.5.

Edited by Daniel Magdalinski

Merge request reports