Earlier quoted context omitted.
You totally can identify performance issues by reading code. E.g. spotting accidentally-quadratic, or failing to reserve vectors, or accidental copies in C++. Or in more amateur code (not mine!) using strings to do things that can be done without them (e.g. rounding numbers; yes people do that). It's a lot easier and better to use profiling in general, but that doesn't mean I never see read code and think "hmm that's…
Ok. I'll bite. How do you identify that a performance uplift of part of the code will kill the performance of overall app? Or won't have any observable effect? I'm not saying you can't spot naive performance pitfalls. But how do you spot cache misses reading the code?
Re: Look Out for Bugs
#41For example if someone uses a linked list where a vector would have worked. Vectors are much faster, partly due to better spatial locality.