问题标签 [kcachegrind]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 对分析结果感到困惑
我已经用“ -g -O2
”构建了我的程序并运行了valgrind
+cachegrind。我不确定如何解释输出。这是输出:
http://daviddoria.com/Uploads/callgrind.CacheMisses
我的“整个程序”是InpaintingAlgorithm
“主要”的 98.4% 的功能。到目前为止,一切都很好。现在看看InpaintingAlgorithm
92.9% 的被调用者InpaintingAlgorithm
是LinearSearchKNNProperty::operator()
. 这是我的“内循环”,我再次期待大量的时间花在这里。
现在这是我感到困惑的地方。看看 的被调用者LinearSearchKNNProperty::operator()
,真的什么都没有??最大的函数只有7.64%,其余的<0.25%。我不明白所有被调用者的总和如何只增加了大约 8%。剩下的 92% 在哪里?(大概是我要找的东西让它跑得更快!)
如果有人能指出我在阅读这些结果时的错误,我将不胜感激!
php - 如何使用 kcachegrind 查看 php 函数参数
我使用 kcachegrind 查看 xdebug 配置文件。
如何在循环中查看传递给 kcachegrind 中函数或方法的参数
performance - 由于 php::session_start,CakePHP 页面加载缓慢
我发现我的 CakePHP 应用程序中不调用数据库的页面加载大约需要 4 秒,这太慢了。
我尝试了以下方法无济于事:
- 重新启动计算机
- 重新安装 Uniserver
- 将调试级别从 2 切换到 0
- 从 FileCache 切换到 APC 缓存
我得到了一个 XDebug 分析器转储,并在 KCachegrind 中观察到最耗时的函数是 php::session_start,它是由 \webroot\index.php 调用的。我还使用 CakePHP Debug Kit 检查了性能,发现最耗时的项目是“Core Processing (Derived from $_SERVER["REQUEST_TIME"])”。
我该怎么做才能让我的页面加载得更快?
如果我的硬件是相关的,我已经描述了下面的操作环境:
- ThinkPad T400
- 英特尔酷睿 2 双核处理器
- OCZ 固态硬盘
- 4 GB 内存
- Windows 7 64 位版本
- CakePHP 2.2.3 版
作为起点,我将我的 php.ini 工作副本与 Uniserver 提供的 php.ini 生产版本进行了比较,发现了以下主要差异:
- PHP 错误级别(E_ALL、E_NOTICE、E_STRICT 等)
- $php_errormsg 日志记录
- mysqlnd.collect 设置(其中 2 个)
- 禁用 Xdebug
然后,我做了一些前后对比。绿色单元格是 <= 1 秒的值,这是人类感知事物“相当快”的极限。我意识到实际上,必须 <= 0.1 秒才能“即时”,但这似乎有点不切实际。
(要查看全尺寸图像,请访问 Windows SkyDrive,网址为http://sdrv.ms/YomWdO。)
我尝试在 php.ini 的“After”版本下运行时使用网站应用程序,情况并不糟糕,但是当我启动大多数页面时,我仍然觉得我遇到了困难,尤其是当我可以立即启动一些页面时.
fedora - KCacheGrind 没有在 Fedora 17 上打开任何东西
所以,我已经尝试了我现在能做的所有事情,但并没有真正做到这一点,所以我正在向 SO 上的人寻求帮助。
系统详情:
Fedora 17 x86_64
Intel® Pentium(R) 双 CPU E2160 @ 1.80GHz × 2
1.9 GiB 内存
KCacheGrind 0.7.1
KDE 平台版本 4.9.4
过程详细信息:我从服务器或名为 Xdebug Helper 的 Chrome Ext 获取了 XDEBUG 日志。我直接从图标或我创建的 Shell 脚本运行它。
我收到错误“未加载配置文件数据”
有任何想法吗?
抱歉:错误读取“(未选择功能)”
对不起。我是 Linux 和 KCacheGrind 的 n00b。
c++ - 两个 C++ 程序之间的区别
我有一个具有两个版本的 C++ 程序,一个版本的功能正在运行,而另一个版本则没有。有没有办法调试这两个版本之间的差异?具体来说,我使用的是 Linux 和 g++。有没有办法使用KCachegrind之类的东西来查看差异调用图?或者 gdb 中有什么东西可以更快地查看这些函数调用的差异吗?
更新中...该程序太大,无法查看所有差异。首先,我想知道函数调用差异之间的路径,然后我将可以选择仅在此函数中执行 diff 命令。
php - 在远程服务器上安装 Xdebug 以进行分析
我正在尝试在 AWS 云中的远程服务器上安装 Xdebug 以进行分析。我安装了 Xdebug 我使用 phpinfo() 检查并保留了一些设置以在服务器上启用分析选项,我验证它已启用。
我将 pro filer 的输出日志保存在远程服务器上的目录中。现在我想使用 Kcachedgrind 打开这些文件。所以我安装了 Kcachesgrind。
我在 PHP.ini 文件中使用的设置如下。
在上述设置中,您可以看到名为 xdebug.remote_host 的文件,通常它是本地主机,但我在远程服务器中,所以我将服务器的主机名保留在那里。当我尝试使用 Kcachegrind 打开文件时出现以下错误。
php - XDebug 误报 fopen 比它慢?如何获得更准确的信息?
我正在分析一个似乎比使用 XDebug 慢一点的 PHP 网站。
我用 KCacheGrind 检查了配置文件信息,据此,80% 以上的加载时间是由 fopen 引起的。
但是,当我在 fopen 调用之前和之后向代码中添加语句以测量它所花费的时间时,它似乎并没有接近 XDebug 报告的 80%。
此方法报告完成 fopen 调用大约需要 2 秒,加载页面大约需要 25 秒 - 与 XDebug 报告的 80% 相比有很大的飞跃。
真的是 fopen 调用减慢了一切吗?如果不是,我怎样才能找出是什么?
如果不是,我如何从 XDebug 获得更准确的信息?
编辑:似乎虽然调用完成了,但它仍然被 XDebug 计为“当前”,直到连接关闭并且它挂起直到超时。手动关闭连接后,统计数据似乎要好一些。
c++ - 解释函数声明行的 cachegrind Ir 计数
我对两个类似的函数进行了逐行计数,使用方式完全相同。函数声明行 (void f(...)) 的 Ir 计数非常不同:一个为 999,999,993,另一个仅为 284。这是什么意思?
debugging - Valgrind输出中的错误摘要?
我看过一些关于 valgrind 的帖子,但没有一篇文章帮助我理解对 valgrind 输出的解释。我用 valgrind 运行了两个程序(都有内存泄漏)
测试 1 的样本输出
测试 2 的输出
如果您查看错误摘要,一个输出说有错误,另一个说没有错误(最终两者都有泄漏)
我的问题是——valgrind 中的错误是什么?(valgrind 手册对我没有帮助)
jruby - 将 KCachegring 与 JRuby 分析器一起使用
是否可以将 JRuby 分析器图形输出转换为 valgrind 格式(或任何其他方式在 KCachegrind 中可视化分析输出)?