Профилировщик xdebug выводит странные результаты - PullRequest
1 голос
/ 08 июня 2010

Я использую xdebug для профилирования некоторого кода PHP в Windows и использую WinCacheGrind / Webgrind для анализа вывода, но я получаю некоторые странные результаты. В частности, общее совокупное время для одного метода превышает 100%! Как это возможно, что больше времени тратится на выполнение кода этой функции и всех функций, которые она вызывает, чем на общее время выполнения всего сценария? Что мне здесь не хватает?

Ответы [ 2 ]

0 голосов
/ 10 мая 2013

Наиболее вероятным ответом является то, что функция в некотором роде рекурсивна. Если вызов 1, то две функции foo находятся в трассировке стека, чтобы вызов 2 функционировал, тогда общее время вызова 1 будет включать время, потраченное на вызов 2. Общее время, потраченное на функцию foo, удвоит время вызова 2. 1001 *

0 голосов
/ 07 мая 2011

Я бы посоветовал вам использовать XHGui вместо xdebug.XHGui - это приятное усовершенствование XHProf, созданное Facebook, чтобы помочь им профилировать свой PHP-код.

Одной из лучших частей XHGui, помимо возможности сравнения выполнений, является вкладка "самый сильный удар". Вот хорошее описание того, как его использовать .

...