Currently, we are redundantly creating multiple FlowGraph for paths that we've already previously computed. We could optimize this by having a cache of DataFlowNode to FlowGraph, such that when we attempt to create a FlowGraph for an existing DataFlowNode, we return the existing FlowGraph.
This could likely further be optimized if, while performing the data flow computation, we received a cached FlowGraph could stop the computation preemptively.
Currently, we are redundantly creating multiple
FlowGraph
for paths that we've already previously computed. We could optimize this by having a cache ofDataFlowNode
toFlowGraph
, such that when we attempt to create aFlowGraph
for an existingDataFlowNode
, we return the existingFlowGraph
.This could likely further be optimized if, while performing the data flow computation, we received a cached
FlowGraph
could stop the computation preemptively.