Не.
Вы ищете "узкое место", верно?
Это, вероятно, не в той функции, где вы думаете.
Это метод, на который я полагаюсь, для любого языка или операционной системы.
Если проблема в этой функции, она сообщит вам. Если это где-то еще, он скажет вам.
@ downvoter: В чем проблема? Если вас беспокоит скорость запуска приложения, то во время запуска приложения берите образцы вручную.
Альтернатива в профилировщике - запускать его все время, а затем попытаться выяснить, какой частью временной шкалы был запуск. А поскольку большую часть времени тратится на ожидание пользователя, когда вам не нужны сэмплы, вы переводите его в режим сэмплирования ЦП. Проблема в том, что вы не видите таких вещей, как время ввода-вывода, затрачиваемое на загрузку dll, запросы DNS и т. Д., Которые могут быть доминирующими при запуске.
Тогда возникает целый вопрос глупости презентации, такой как «горячий путь», где истинный таймер может легко скрыть .
На случай, если вы спросите: «Как я могу проверить тысячи образцов стеков?» ответ вам не нужно . Если стартап заметно медленный, то это потому, что он тратит большую часть своего времени на то, что ему не нужно делать - на какую-то долю, например, 30%, чтобы быть консервативной.
Это означает, что вы будете видеть его в среднем один раз каждые 3,33 образца.
Поскольку вам нужно увидеть его два или более раз, чтобы понять, что это проблема, в среднем вам нужно 6,67 образцов.
Чем больше проблема, тем меньше образцов вам нужно.
(Если это 90%, вам нужно только 2 / 0,9 = 2,2 образца.)
Если вы исследуете 20 образцов, вы увидите, что любая проблема стоит больше, чем около 10%, и если вы ее исправите, любые меньшие проблемы займут больший процент - они усиливаются коэффициентом ускорения, поэтому их легче найти на следующем этапе -вокруг.
Вот математика.