Performance of predecessors, successors, and CFG computation #159
Labels
enhancement (performance)
Would reduce the time it takes to run some bit of the code
good first issue
Good for newcomers
low priority
At present, the performance of
compute_all_predecessors
,compute_all_successors
, andcontrol_flow_graph
are not bottlenecking anything (that I'm aware of), but there are clear redundancies in their implementations. For example:compute_all_predecessors
makes use ofcompute_all_successors
in its implementation. Often these are both needed at the same time, which means thatcompute_all_successors
is often run twice.compute_all_predecessors
andcompute_all_successors
create more allocations than is strictly necessarycontrol_flow_graph
makes use of both of these functions, and also has not really been optimised.All this is to say that there is probably quite a lot that we could do to improve the performance of these functions, given some time.
If I ever notice that these are becoming an actual issue, I will remove the "low priority" tag, and prioritise solving this. In the mean time, this is probably a good place for someone to start working on the codebase.
The text was updated successfully, but these errors were encountered: