DTe*_*est 48 profiling xdebug kcachegrind
我在php脚本上有一个xdebug配置文件,我用kcachegrind解析.这是一个屏幕截图,显示在任何给定函数中花费的最多时间都花在内部<cycle 1>,而顶部' 调用者'是由index.php中的'include'和'include_once'构成的.

此配置文件在使用apache'ab'进行压力测试期间运行,因此发生了许多并发连接.
<cycle 1>在xdebug配置文件上显示什么?
osg*_*sgx 36
它是启发式循环检测.您可以从工具栏或菜单"查看 - >检测循环"或"查看 - >执行循环检测"将其关闭.
周期是一样的东西递归,直接(f() -> f() -> f()这里->指调用)和间接(f()->g()->f()->g()->f())
Callgring格式(在kcachegrind中使用)不保存完整的调用堆栈,它只存储调用者被调用者对,并且可能很难从此信息中恢复更长的周期
Cor*_*ein 26
虽然@osgx提到您可以关闭循环检测,但我只想在此指出,如果您觉得<cycle 1>隐藏了一些您感兴趣的内容,那么您可能应该关闭循环检测,正如他解释的那样.
在我的案例中禁用循环检测实际上揭示了之前丢失的一些关键信息.
| 归档时间: |
|
| 查看次数: |
8783 次 |
| 最近记录: |