Setup: Let's say I have a fairly detailed software (in July), which involves the interaction of several modules. I feel it is running slower than necessary. Usually the first culprit of the check is unstable type functions , i.e. Functions in which the compiler cannot determine in advance what type of output will be.
Question: How can I detect these unstable type functions?
What I am doing now: I use profiling tools, for example. ProfileView.jl @tholy package to identify bottlenecks under the assumption that unstable functions will appear here (due to their excessive runtime). But what would be very nice is some kind of debugging tool that, after running the subroutine, spits out a list of functions where the compiler could not determine the type of output ahead of time. Is it possible?
source share