问题标签 [callgrind]

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 投票
7 回答
30640 浏览

windows - Windows Callgrind 结果浏览器,KCacheGrind 的替代品

除了 KCacheGrind 之外,是否有任何工具能够查看 callgrind 结果?最好用于 Windows 平台?

0 投票
5 回答
15637 浏览

linux - kcachegrind 的控制台替代品?

Kcachegrind 非常棒,它是我最喜欢的工具之一,但有时我会错过在远程服务器上的终端(例如使用 ssh)中运行它的能力。

我知道可以设置 VNC 或 X-server 转发,但是当我需要一些简单的东西时,它非常笨拙。

是否有任何 kcachegrind 控制台替代方案(例如基于 ncurses)?

0 投票
2 回答
1002 浏览

profiling - 评估 callgrind 呼叫配置文件的工具?

不知何故与这个问题有关,你会推荐哪个工具来评估用 callgrind 创建的分析数据?

它不必有图形界面,但它应该以简洁、清晰和易于解释的方式准备结果。我知道 eg kcachegrind,但是这个程序缺少一些功能,例如显示的表格的数据导出或简单地从显示中复制行。

0 投票
2 回答
5128 浏览

multithreading - 使用 callgrind/kcachegrind 获取每个线程的统计信息

我希望能够看到我的应用程序中的每个线程使用 callgrind 有多“昂贵”。我配置了一个选项,该--separate-thread=yes选项为您提供整个应用程序的 callgrind 文件,然后为每个线程提供一个。

这对于查看任何给定线程的配置文件很有用,但我真正想要的只是每个线程的 CPU 时间排序列表,这样我就可以看到哪些线程是最大的猪。

0 投票
3 回答
13630 浏览

profiling - 如何使用 callgrind 仅分析程序执行的某个时间段?

我想使用 valgrind 进行一些分析,因为它不需要重新构建程序。(我要分析的程序已经用“-g”构建)

但是 valgrind(callgrind) 很慢......所以这就是我要做的:

  1. 启动服务器(我想分析该服务器)
  2. 某种附加到该服务器
  3. 在我对服务器进行一些操作之前,开始收集配置文件数据
  4. 操作完成后,结束采集profile数据
  5. 分析分析数据。

我可以在 Solaris 上使用 sun studio 来做这种事情。(使用 dbx )。我只是想知道是否可以使用 valgrind(callgrind) 做同样的事情?

谢谢

0 投票
2 回答
1220 浏览

callgrind - callgrind : 如何检查一行是否执行

是否可以使用 callgrind 来产生像 gcov/lcov 给出的输出?我正在阅读他们的文档,找不到 callgrind_annotate 的确切选项

0 投票
2 回答
3498 浏览

c - 如何让 callgrind 转储源行信息?

我正在尝试在 GNU/Linux 上分析一个共享库,该库进行实时音频处理,因此性能很重要。我运行另一个程序,它将它连接到我系统的音频输入和输出,并使用 callgrind 对其进行分析。

查看 KCacheGrind 中的结果,我得到了关于哪些函数占用了我大部分时间的重要信息。但是,它不会让我逐行查看信息,而是说我需要使用调试符号编译它并再次运行分析。

我正在分析的程序不是用调试符号编译的,但库是。我知道这一点,因为有趣的是,cachegrind的源代码注释工作正常。

当我运行 callgrind 时,它说默认是转储源代码行信息,但它并没有这样做。有什么方法可以强迫它,或者弄清楚是什么阻止了它?

0 投票
1 回答
1597 浏览

fork - callgrind 函数名称未显示在子进程中

我有进程 A,它分叉进程 B。A 和 B - 是不同的应用程序。两者都使用 -g 标志编译。

用 callgrind 运行它我使用命令: valgrind --tool=callgrind --trace-children=yes ./A [params]

父进程 (A) 的 callgrind.out.xxx 包含函数名称。对于子进程(B) - 它不包含。这里有什么问题?

谢谢

0 投票
2 回答
2114 浏览

java - java的callgrind等价物?

java有免费的callgrind等价物吗?基本上,我只需要任何能够为我的 java 代码的每个方法和功能提供循环计数或时间的东西。

我想我应该提到我正在使用 mac,这意味着下面的 eclipse 对我不起作用,我相信。

0 投票
3 回答
3641 浏览

c - 使用 callgrind 作为采样分析器?

我一直在寻找 Linux 采样分析器,而callgrind最接近显示有用的结果。然而,开销估计比正常慢 20--100 倍。此外,我只对每个函数花费的时间感兴趣(特别强调阻塞调用,例如read()and write(),其他分析器不会忠实地显示)。

  1. 有没有办法关闭多余的选项,以便只记录最小数据以生成在各种调用堆栈中花费的时间?
  2. callgrind 的 cachegrind 遗产是否意味着在缓存分析等方面正在做多余的事情?
  3. 我假设 callgrind 像调试器一样运行。是否可以对其进行调整以每隔一段时间而不是每条指令对过程进行采样?