You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
At present, the performance of compute_all_predecessors, compute_all_successors, and control_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 of compute_all_successors in its implementation. Often these are both needed at the same time, which means that compute_all_successors is often run twice.
Both compute_all_predecessors and compute_all_successors create more allocations than is strictly necessary
Type-stability hasn't been checked
control_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:
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: