Between struggling with profilers, you can easily get a pretty good picture of what your program does in terms of time with this method . What he shows is usually a surprise.
Added: I make quite a few settings, and I have a different perspective regarding these things, such as: wall clock time is all that matters, individual instructions are more important than functions / methods, call trees and schedules Interesting, but no one knows what they really mean in terms of performance, demonstrations are all smart toys like Mandelbrot, and individual samples are that kind of money, not a resume.
For example, setting up a .NET application takes a lot of time. Therefore, during this period I tried it several times and asked: "What is he doing and why?" It searches for strings by identifier in resources (so strings can be internationalized). It's necessary? If I look at specific lines, these are those that should never be internationalized. No profiler can tell me this, but samples find it immediately.
source share