见鬼去吧。我在apache/php服务器上安装了XDEBUG作为ZEND模块。它输出分析文件,但输出不包含函数名称,仅包含数字。我看起来不像其他cachegrind输出文件。我的文件有数字而不是函数/文件名。如果我尝试使用WinCacheGrind打开一个文件,它会变成一个错误。我还安装了webgrind,输出仅显示数字。有时有一个文件名,但文件名前面有一个数字。单击它会导致错误。version:1creator:xdebug2.3.2cmd:/backup/united/public_html/member.phppart:1positions:line事件:时间fl=(1)php:
我正在分析一些代码并使用cachegrind来获取执行中的缓存未命中数(L2和L3)。我的问题是如何根据缓存未命中确定等待缓存准备就绪所花费的时间?我希望能够说“我的代码获得90%的CPU使用率”之类的话是否可以根据缓存研磨输出来执行此操作? 最佳答案 Cachegrind只是模拟CPU上的执行,模拟缓存和分支预测器的行为方式。要知道您将在缓存上阻塞多长时间,需要更多信息。具体来说,您需要知道何时可以推测执行以及可以并行分派(dispatch)多少指令(以及如何同时协调内存内存访问)。Cachegrind无法做到这一点,任何可能严重
我目前正在学习Linux下的各种分析和性能实用程序,尤其是valgrind/cachegrind。我有以下玩具程序:#include#includeintmain(){constunsignedintCOUNT=1000000;std::vectorv;for(inti=0;i用g++-O2-gmain.cpp编译这个程序并运行valgrind--tool=cachegrind./a.out,然后cg_annotatecachegrind。out.31694--auto=yes产生以下结果:------------------------------------------------
有这样的事情吗?我在Windows上使用WinCacheGrind应用程序,它似乎不适用于大文件(~2MB)。我收到类似“找不到调用目标”的错误。您知道用PHP编写的此类文件的任何解析器可以帮助我构建自己的cachegrind分析器吗? 最佳答案 我不确定这在PHP中是否可行,但可以尝试http://sourceforge.net/projects/precompiledbin/,如果你只想读取cachegrind文件,KCacheGrind实际上可以在linux上运行,但有人已经将它移植到windows上运行引用:WindowsC
当我尝试使用wincachegrind并获取cachegrind文件时,它返回Cannotfindcalltarget.cachegrind.outlinenumber:68有人知道怎么解决吗?更新,这是错误的屏幕截图:Clickthislink 最佳答案 可能您使用的是旧版本的WinCacheGrind。确保您的版本是最新的,从officialrepository下载.单击Releases并下载最新的wincachegrind-*.zip。 关于windows-Wincachegrin
我使用了两种性能分析工具(Windows上的VTune和Solaris上的dbx(在sunstudio中)),它们可以在不重建程序的情况下分析程序,并且在分析过程中,程序仅以与正常情况相同的速度运行。这两个功能都为我节省了很多时间。现在我想知道Linux平台上是否有一些免费的工具可以做同样的事情。我想我需要基于采样的分析工具。VTune很好但很贵……我听说过gprof和valgrind。但似乎gprof需要检测程序(所以我们必须重建程序)并且valgrind会大大减慢程序的执行速度。(根据valgrind的介绍,Cachegrind运行程序比正常情况慢20--100倍左右,我需要pro
我使用了两种性能分析工具(Windows上的VTune和Solaris上的dbx(在sunstudio中)),它们可以在不重建程序的情况下分析程序,并且在分析过程中,程序仅以与正常情况相同的速度运行。这两个功能都为我节省了很多时间。现在我想知道Linux平台上是否有一些免费的工具可以做同样的事情。我想我需要基于采样的分析工具。VTune很好但很贵……我听说过gprof和valgrind。但似乎gprof需要检测程序(所以我们必须重建程序)并且valgrind会大大减慢程序的执行速度。(根据valgrind的介绍,Cachegrind运行程序比正常情况慢20--100倍左右,我需要pro
出于好奇,我编写了几个不同版本的矩阵乘法并针对它运行了cachegrind。在下面的结果中,我想知道哪些部分是L1、L2、L3未命中和引用,它们的真正含义是什么?下面是我的矩阵乘法代码,以防万一有人需要。#defineSLOWEST==6933==Cachegrind,acacheandbranch-predictionprofiler==6933==Copyright(C)2002-2012,andGNUGPL'd,byNicholasNethercoteetal.==6933==UsingValgrind-3.8.1andLibVEX;rerunwith-hforcopyright
出于好奇,我编写了几个不同版本的矩阵乘法并针对它运行了cachegrind。在下面的结果中,我想知道哪些部分是L1、L2、L3未命中和引用,它们的真正含义是什么?下面是我的矩阵乘法代码,以防万一有人需要。#defineSLOWEST==6933==Cachegrind,acacheandbranch-predictionprofiler==6933==Copyright(C)2002-2012,andGNUGPL'd,byNicholasNethercoteetal.==6933==UsingValgrind-3.8.1andLibVEX;rerunwith-hforcopyright
是否有任何工具可以分析一个充满xdebug转储的文件夹?当我们在生产服务器上短时间启用Xdebug分析时,我们总是会得到数百个文件,这需要花费大量时间在WinCacheGrind或KCacheGrind中单独分析。我正在寻找一种可以聚合使用的工具,以告诉我哪些函数在所有合并的文件中占用的时间最多。 最佳答案 改用配置指令xdebug.profiler_append当此设置设置为1时,当新请求映射到同一文件时,分析器文件不会被覆盖(取决于xdebug.profiler_output_name设置。相反,文件将附加到新配置文件。(htt