Skip to content

[ATR-21353] Refactor R3 feature access trigger navigation graph traversal to keep graph structure.

Tim Martin requested to merge tamartin/athena:findLinkCaching_mark2 into master

Follows on from !35260 (merged)

Similar concept to there, but a much larger refactor. Given how much more "work" ->features(...) has to do vs. ::findLinks(...)

  • Avoid flattening trigger navigation structure before feature-grabbing.
  • Introduce new small transient DAG class.
  • Populate DAG on call to features, filtered on the chain(s) and other options
  • Change feature-grabbing to use this filtered sub-graph DAG
  • Include early-escape efficiencies in this subsequent navigation.
  • Aim to save substantial CPU in events with significant branching-merging-branching.
    • Both in sub-graph construction (instead of locating all linear routes).
    • And in sub-graph navigation (only explore from each node once)
Edited by Tim Martin

Merge request reports