2010-06-08 35 views
1

我使用xdebug來分析Windows上的一些PHP代碼,並使用WinCacheGrind/Webgrind來分析輸出,但我得到了一些奇怪的結果。具體而言,單個方法的總累積時間大於100%!如何花費更多的時間來執行此函數的代碼及其調用的所有函數,而不是執行整個腳本所花費的總時間?我在這裏錯過了什麼?xdebug profiler輸出奇怪的結果

+0

想知道我自己有時候,也許它與舍入或遞歸有關。輸出結果仍然足以區分瓶頸,因此從不費心去問。 – Wrikken 2010-06-08 20:02:34

回答

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的時間。