问题标签 [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.

0 投票
0 回答
697 浏览

c++ - 对分析结果感到困惑

我已经用“ -g -O2”构建了我的程序并运行了valgrind+cachegrind。我不确定如何解释输出。这是输出:

http://daviddoria.com/Uploads/callgrind.CacheMisses

我的“整个程序”是InpaintingAlgorithm“主要”的 98.4% 的功能。到目前为止,一切都很好。现在看看InpaintingAlgorithm92.9% 的被调用者InpaintingAlgorithmLinearSearchKNNProperty::operator(). 这是我的“内循环”,我再次期待大量的时间花在这里。

现在这是我感到困惑的地方。看看 的被调用者LinearSearchKNNProperty::operator(),真的什么都没有??最大的函数只有7.64%,其余的<0.25%。我不明白所有被调用者的总和如何只增加了大约 8%。剩下的 92% 在哪里?(大概是我要找的东西让它跑得更快!)

如果有人能指出我在阅读这些结果时的错误,我将不胜感激!

0 投票
1 回答
217 浏览

php - 如何使用 kcachegrind 查看 php 函数参数

我使用 kcachegrind 查看 xdebug 配置文件。

如何在循环中查看传递给 kcachegrind 中函数或方法的参数

0 投票
3 回答
3925 浏览

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 秒才能“即时”,但这似乎有点不切实际。

显示 CakePHP 页面所需的处理时间比较

(要查看全尺寸图像,请访问 Windows SkyDrive,网址为http://sdrv.ms/YomWdO。)

我尝试在 php.ini 的“After”版本下运行时使用网站应用程序,情况并不糟糕,但是当我启动大多数页面时,我仍然觉得我遇到了困难,尤其是当我可以立即启动一些页面时.

0 投票
1 回答
207 浏览

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。

0 投票
3 回答
261 浏览

c++ - 两个 C++ 程序之间的区别

我有一个具有两个版本的 C++ 程序,一个版本的功能正在运行,而另一个版本则没有。有没有办法调试这两个版本之间的差异?具体来说,我使用的是 Linux 和 g++。有没有办法使用KCachegrind之类的东西来查看差异调用图?或者 gdb 中有什么东西可以更快地查看这些函数调用的差异吗?

更新中...该程序太大,无法查看所有差异。首先,我想知道函数调用差异之间的路径,然后我将可以选择仅在此函数中执行 diff 命令。

0 投票
2 回答
1773 浏览

php - 在远程服务器上安装 Xdebug 以进行分析

我正在尝试在 AWS 云中的远程服务器上安装 Xdebug 以进行分析。我安装了 Xdebug 我使用 phpinfo() 检查并保留了一些设置以在服务器上启用分析选项,我验证它已启用。

我将 pro filer 的输出日志保存在远程服务器上的目录中。现在我想使用 Kcachedgrind 打开这些文件。所以我安装了 Kcachesgrind。

我在 PHP.ini 文件中使用的设置如下。

在上述设置中,您可以看到名为 xdebug.remote_host 的文件,通常它是本地主机,但我在远程服务器中,所以我将服务器的主机名保留在那里。当我尝试使用 Kcachegrind 打开文件时出现以下错误。

0 投票
0 回答
97 浏览

php - XDebug 误报 fopen 比它慢?如何获得更准确的信息?

我正在分析一个似乎比使用 XDebug 慢一点的 PHP 网站。

我用 KCacheGrind 检查了配置文件信息,据此,80% 以上的加载时间是由 fopen 引起的。

但是,当我在 fopen 调用之前和之后向代码中添加语句以测量它所花费的时间时,它似乎并没有接近 XDebug 报告的 80%。

此方法报告完成 fopen 调用大约需要 2 秒,加载页面大约需要 25 秒 - 与 XDebug 报告的 80% 相比有很大的飞跃。

真的是 fopen 调用减慢了一切吗?如果不是,我怎样才能找出是什么?

如果不是,我如何从 XDebug 获得更准确的信息?

编辑:似乎虽然调用完成了,但它仍然被 XDebug 计为“当前”,直到连接关闭并且它挂起直到超时。手动关闭连接后,统计数据似乎要好一些。

0 投票
0 回答
118 浏览

c++ - 解释函数声明行的 cachegrind Ir 计数

我对两个类似的函数进行了逐行计数,使用方式完全相同。函数声明行 (void f(...)) 的 Ir 计数非常不同:一个为 999,999,993,另一个仅为 284。这是什么意思?

0 投票
1 回答
22032 浏览

debugging - Valgrind输出中的错误摘要?

我看过一些关于 valgrind 的帖子,但没有一篇文章帮助我理解对 valgrind 输出的解释。我用 valgrind 运行了两个程序(都有内存泄漏)

测试 1 的样本输出

测试 2 的输出

如果您查看错误摘要,一个输出说有错误,另一个说没有错误(最终两者都有泄漏)

我的问题是——valgrind 中的错误是什么?(valgrind 手册对我没有帮助)

0 投票
1 回答
89 浏览

jruby - 将 KCachegring 与 JRuby 分析器一起使用

是否可以将 JRuby 分析器图形输出转换为 valgrind 格式(或任何其他方式在 KCachegrind 中可视化分析输出)?