问题标签 [gprof]

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

profiling - 用于分析 OCaml 代码的工具

除了在编译时使用 -p 选项然后使用 gprof 之外,是否有人知道用于分析 OCaml 代码的程序?我问这个问题是为了检查是否可以进一步降低 0.01 秒的采样时间?

0 投票
1 回答
3744 浏览

c++ - 将 gprof 与 makefile 一起使用

我在尝试分析我的程序时遇到问题。

我像这样单独编译每个函数:

然后我将这样的所有内容链接在一起:

但是当我运行程序./exec然后用 分析数据时gprof exec,我没有得到分析数据,它说:

难道我做错了什么?

0 投票
3 回答
217 浏览

c - 如何分析代码段?

我需要分析一个用 C 编写的软件。现在的问题是,虽然 gprof 或我自己的开始计时器/结束计时器函数调用会为我提供每个函数花费的时间,但我不知道哪个是最耗时的每个功能中的一部分。有些人可能将其称为微优化,但这正是当下的需要!

实现这一点的方法之一是在 for 循环中“手动”放置开始/结束计时器调用(可能不止一个)。在这种情况下,更聪明的做法是允许使用宏启用/禁用这些调用。

但我想自动化这个仪器?

你能告诉我是否存在一个好的工具来实现同样的目标吗?如果我可以从脚本中重复调用检测程序,然后找到代码的每个“部分”花费的平均时间,那将是理想的。目前,节是一个定义松散的术语,但“工具”可以对节的定义有更具体的定义。

如果我能以某种方式了解哪些工具将是有用的,那也会很有帮助

0 投票
4 回答
37793 浏览

gdb - 在应用程序中进行的所有函数调用的列表

我们如何列出应用程序中调用的所有函数。我尝试使用 GDB,但它的回溯列表只到主函数调用。

我需要更深入的列表,即主函数调用的所有函数的列表以及从这些被调用函数调用的函数等等。

有没有办法在 gdb 中得到这个?或者你能给我一些关于如何得到这个的建议吗?

0 投票
1 回答
524 浏览

c++ - 使用 gprof 和 boost

在使用 gprof 分析一些使用许多 boost 功能的代码时,有一个非常讨厌且难以遵循的输出,请参见下面的示例,有没有办法清理 gprof 以与 boost 或更友好的替代方案一起使用?从外观上看,boost::math::policy 的重复版本使分析输出变得混乱,从而难以查看或理解调用图

顺便说一句,这是一个例子的片段

0 投票
3 回答
8880 浏览

c++ - `gprof` 花费在特定代码行上的时间

我一直在将gprof分析器与g++.

我的代码中有一个函数,它封装了与主要函数足够相关的几个行为部分,因此将它们拆分为它们自己的函数是没有意义的。

我想知道在每个代码区域中花费了多少时间。

所以,如果你想象代码看起来像

其中 A、B 和 C 代表我感兴趣的特定代码部分,有没有办法gprof告诉我在这些特定部分上花费了多少时间?

0 投票
1 回答
359 浏览

profiling - 为什么 gprof 低估了总时间

我有运行 5 小时的 CPU 绑定进程(使用 CPU 时间getrusage()

我试图通过 gprof 对其进行分析。总共花费的时间main()只有大约 5000 秒。

我的程序受 CPU 限制,它有一些磁盘 IO,但并不重要。配置文件中断已打开,并且我的进程不是多线程的。

0 投票
1 回答
218 浏览

c++ - 如何计算 cilk_spawn 的时间

感谢您查看帖子

我正在对一些 Cilk Plus 代码进行基准测试,并希望计算完成“生成”操作所需的时间。我有兴趣只计算进行生成所需的时间,而不是 fib() 所需的计算时间。这可能吗?

将计时器放入以下代码中会按预期工作吗?如果我的想法是正确的,将用 timer_start() 和 timer_stop() 替换“// RRS”,完成工作吗?

0 投票
3 回答
566 浏览

fortran - Fortran 代码的 gprof 输出中的 _IO_wfile 是什么?

我有一些用英特尔 fortran 编译器 ifort 编译的 fortran 代码。当我使用 gprof 进行配置文件测试时,我发现大部分时间都用于 IO 操作,我想找到文件的结尾,但我找不到更多关于此的文档:

所以,问题是,这个 IO 是特定于 Linux、ifort 还是 fortran 的?我正在尝试优化此代码,但在 google 中没有找到有关此术语的有用信息。

0 投票
2 回答
5322 浏览

linux - 在终止进程之前保存 gmon.out

我想使用 gprof 来分析一个守护进程。我的守护进程使用一个 3rd 方库,它注册一些回调,然后调用一个main永远不会返回的函数。我需要调用kill(SIGTERM 或 SIGKILL)来终止守护进程。不幸的是,gprof 的手册页说:

分析程序必须调用“exit”(2) 或正常返回,以便将分析信息保存在 gmon.out 文件中。

有没有办法保存被 SIGTERM 或 SIGKILL 杀死的进程的分析信息?