If I had to summarize, you need to have a mental model of what your code is doing, and roughly how long that should take in order to do effective performance work. The article takes a very scenic route to get to the point, though.
I wonder, perhaps it was a problem with how the data was presented? I usually do my performance profiling off of timeline traces (i.e. Perfetto & co.), which could perhaps more clearly show the issue in this case—that transformSSA is just taking an insanely long time relative to its caller.
If I had to summarize, you need to have a mental model of what your code is doing, and roughly how long that should take in order to do effective performance work. The article takes a very scenic route to get to the point, though.
and left us hanging by not mentioning how much better the code was after their fix!
well? what was the runtime after fixing the O(n^2) code?
I wonder, perhaps it was a problem with how the data was presented? I usually do my performance profiling off of timeline traces (i.e. Perfetto & co.), which could perhaps more clearly show the issue in this case—that
transformSSAis just taking an insanely long time relative to its caller.