Я использую xdebug для профайла некоторых PHP-кода в Windows и использования WinCacheGrind/Webgrind для анализа вывода, но я получаю некоторые странные результаты. В частности, общее суммарное время для одного метода больше 100%! Как возможно, что больше времени потрачено на выполнение кода этой функции и всех функций, которые она вызывает, чем на общее время, затраченное на выполнение всего скрипта? Что мне здесь не хватает?xdebug profiler output странные результаты
1
A
ответ
0
Я предлагаю вам использовать XHGui вместо xdebug. XHGui - отличное дополнение к XHProf, которое Facebook построил, чтобы помочь им профилировать свой PHP-код.
Одной из лучших частей XHGui, помимо возможности сравнивать исполнения, является вкладка «Самый сильный удар». Here is a good write up on how to use it.
0
Наиболее вероятным ответом является то, что функция в некотором роде рекурсивна. Если вызов 1, то две функции foo находятся в трассировке стека для вызова 2 для функции, тогда общее время для вызова 1 будет включать время, затраченное на вызов 2. Общее время, затрачиваемое на функцию foo, удвоит счет времени для вызова 2.
Чувствовал, что сам когда-нибудь, возможно, это связано с округлением или рекурсией. Выход по-прежнему был достаточно ясным, чтобы различать узкие места, поэтому никогда не надо было спрашивать. – Wrikken