问题标签 [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.
c - 使用 valgrind 而不是 gcc 进行分析
一段时间以来,我一直在使用 gprof 来分析我的 C 代码,但它非常不稳定,每次运行它都会给我不同的模拟时间以及 %. 我决定切换到 valgrind,我正在使用 valgrind 进行分析,但是我想显示数据并获得与 gprof 相似的结果。在 gprof 我得到了 % 执行时间,self ns/call
有没有办法在不使用 kcachegrind 的情况下获取这些信息?
Kcachegrind 正在打开 UI,我更喜欢获取文件以便我可以分析,因为我想一起做几个分析
谢谢您的帮助
linux - 如何在 Linux 中使用 gprof?
我在一个文件中有一个 C 代码test.c
。我必须使用grof对其进行分析。我使用以下命令来执行此操作。
gcc -p -o result test.c
./result
gprof result
输出的一部分如下所示:
`平面轮廓:每个样本计为 0.01 秒。没有时间积累
% 累计 self 总
时间 秒 秒 呼叫 Ts/呼叫 Ts/呼叫名称`
问题是无论我使用什么复杂或简单的程序,每个样本计数都不会从 0.01 秒开始变化。为什么会这样,并且没有时间在各个列下累积和显示。
c++ - gprof 输出问题
问题是:为什么我的 gprof 输出只显示 "Index by function name" ?
我在本教程的支持下编译了我的应用程序:http: //ececmpsysweb.groups.et.byu.net/cmpsys.2004.winter/citizenship/Bryan_Wheeler/Profiling_Tutorial.html
所以我的应用程序是用 -p -pg 编译的
在我使用 ./application 运行我的应用程序后,它会创建 mon.out 文件,但这只是按函数名称保存索引,这有点奇怪,
有没有人有同样的经历或知道我在这里做错了什么。
谢谢, 阿尔卡特罗斯
ios - iOS上的GCC调用图分析(-pg,gprof)可能吗?
有没有办法在 iOS 上使用 GCC 调用图分析?在为 iOS 设备构建时,在 Xcode4 中设置 GENERATE_PROFILING_CODE 似乎没有效果(我也没有看到 -pg 被传递给编译器或链接器),即使它有效果,我将如何访问写入的 gmon.out 文件iPhone/iPad?
Instrument 的 Time Profiler 只定期对所有线程进行采样,因此很容易错过快速调用;即使使用尽可能小的采样间隔。
更新:
我不是为了找到性能热点而尝试这样做,我需要一个确切的统计数据,在程序运行时哪个函数被调用了多少次;采样需要精确(因此缺少函数调用是不行的)并且它需要对 CPU 友好(与在没有分析的情况下运行代码相比,它不能浪费太多 CPU 时间)。
c++ - 简单的操作浪费时间?
我正在寻找一个简单的操作/例程,如果连续重复可能会“浪费”时间。
我正在研究 gprof 如何配置应用程序,因此这种“浪费时间”需要在用户空间中浪费时间,并且不应该需要外部库。IE,调用 sleep(20) 将“浪费” 20 秒的时间,但 gprof 不会记录这个时间,因为它发生在另一个库中。
对于可以重复浪费时间的简单任务有什么建议吗?
profiling - 在 kcachegrind 中查看 gprof 输出
如何在 kcachegrind 中查看 gprof 的输出?这里是从 gcc 的 gmon.out 到 callgrind.out 的转换器吗?
gcc - gcc 的 -pg 标志是如何工作的?
我试图了解-pg
(或-p
)标志在编译 C 代码时是如何工作的gcc
。
官方 gcc 文档仅说明:
-pg
生成额外的代码来编写适合分析程序 gprof 的配置文件信息。在编译需要数据的源文件时必须使用此选项,并且在链接时也必须使用它。
这真的让我很感兴趣,因为我正在对分析器进行一项小型研究——试图为这项工作选择最好的工具。
c - 为什么矩阵乘法算法中的循环顺序会影响性能?
我有两个函数来查找两个矩阵的乘积:
我使用 运行并分析了两个可执行文件gprof
,除了这个函数之外,每个文件都有相同的代码。对于大小为 2048 x 2048 的矩阵,其中的第二个明显(大约 5 倍)快。关于为什么的任何想法?
c++ - gprof symspec 包括 C++ 类函数
我正在尝试分析大型 C++ 程序的特定部分。我正在使用 gprof 和Gprof2Dot来生成漂亮的图表。但是,我想从图中排除某些启动功能。
我认为我应该能够运行 gprof -Qclass::init 来抑制 class::init 及其所有子项,但这似乎不起作用。事实上,我无法让任何包含“::”的“symspec”工作。但是,-Qmain 可以按我的预期工作。
要让 gprof 包含/排除带有“::”的函数名,需要做哪些魔术?
c++ - 解释 gprof 输出
我试图在我的程序中找到性能问题,从而通过分析来检测代码。gprof 创建一个像这样的平面配置文件:
紧随其后的是许多行,时间更短。
第一个问题:认为 std::deque 似乎存在问题是一个有效的假设吗?问题是:我知道我们正在使用 std::deque,但我不知道<char>
.
如果这个假设成立,那么查看调用堆栈并查看该双端队列的使用位置似乎是有意义的。然而,所有关于这些东西的条目deque<char>
都只被调用<spontaneous>
!
仅举一个例子:
有什么方法可以了解更多关于这个双端队列的信息吗?
感谢您的任何提示!