[ATR-21353] Add visitedCache to TrigCompositeUtils::findLinks
Adds a pointer-cache of visited nodes when recursively exploring a trigger navigation DAG.
Before, to fully recursively explore this demo graph starting on a
and terminating on i
would take 24 hops (a>b b>e e>f f>i e>g g>i e>h h>i a>c c>e e>f f>i e>g g>i e>h h>i a>d d>e e>f f>i e>g g>i e>h h>i
).
After, by skipping nodes which have already been visited - this reduces to 12 hops (a>b b>e e>f f>i e>g g>i e>h h>i a>c c>e a>d d>e
).
Aim to refactor the "is parent of" checks of egamma code in [ATR-21353] to use findLinks
where possible, and hence to benefit from this speed up.
i
/|\
fgh
\|/
e
/|\
bcd
\|/
a