Я предполагаю, что вы профилируете, потому что вы хотите узнать, есть ли способы заставить программу занимать меньше времени, верно?Вы не просто профилируете, потому что вам нравится видеть цифры.
Существует простой, старомодный, проверенный способ найти проблемы с производительностью.Пока программа работает, просто нажмите кнопку «пауза» и посмотрите на стек вызовов.Сделайте это несколько раз, например, от 5 до 20 раз.Чем больше проблема, тем меньше образцов вам нужно найти.
Некоторые люди спрашивают, не является ли это в основном тем, что делают профилировщики, и ответа очень мало. Большинство профилировщиков относятся к одному или нескольким распространенным мифам , в результате чего ваше ускорение ограничено, поскольку они не находят все проблемы:
Некоторые программы тратят ненужныевремя в "горячих точках".В этом случае вы увидите, что код на «конце» стека (где находится счетчик программ) выполняет ненужную работу.
Некоторые программы выполняют больше операций I /О чем нужно.Если это так, вы увидите, что они находятся в процессе ввода-вывода.
Большие программы часто работают медленно, потому что их деревья вызовов излишне пушисты и требуют сокращения.Если это так, вы увидите ненужные вызовы функций в середине стека.
Любой код, который вы видите в некотором проценте стеков, в случае удаления сохранит этот процент времени выполнения (более или менее).).Вы не можете пойти не так. Вот пример , за несколько итераций, экономия более 97%.