Этот «профилировщик» скажет вам - просто случайно остановите его несколько раз и посмотрите на стек.Если do some work
занимает 5 секунд, а do some more work
- 5 секунд, то в 33% случаев стек будет выглядеть следующим образом
main: calling useful_function
useful_function: calling useless_function
useless_function: calling Sleep
Таким образом, примерно 33% образцов стека будут показывать именно это.Любая строка кода, которая стоит некоторую долю времени настенных часов, будет отображаться примерно на той части выборок.
В остальных примерах вы увидите, что она делает другие вещи.
Тамэто автоматические профилировщики, которые делают то же самое более привлекательным способом, например Zoom и LTProf , хотя на самом деле они не показывают образцы.
Iпосмотрел на документ xperf , пытаясь выяснить, можно ли получить образцы стека по времени настенных часов и получить проценты при разрешении на уровне линии.Кажется, вы должны быть на Windows 7 или Vista.Они беспокоятся только о функциях, а не о линиях, что важно, если у вас есть реально большие функции.Я не мог понять, как получить доступ к отдельным образцам, что я считаю важным для понимания , почему программа тратит свое время.