奇怪的分析器行为:相同的功能,不同的性能
我正在学习使用 gprof,然后我得到了这段代码的奇怪结果: int one(int a, int b) { int i, r = 0 for (i = 0 i < 1000 i++) { r += b / (a + 1) } …
为什么我的代码在编译用于分析 (-pg) 时在多线程下运行比在单线程下运行慢?
我正在写一个光线追踪器。 最近,我向程序添加了线程,以利用 i5 四核上的附加内核。 奇怪的是,应用程序的调试版本现在运行速度变慢,但优化后的构建…
让 gprof 根据挂钟时间进行分析?
我的理解是,默认情况下 gprof 会考虑 CPU 时间。有没有办法让它根据挂钟时间进行分析? 我的程序执行大量磁盘 I/O,因此它使用的 CPU 时间仅代表实际…
为什么 gprof 告诉我一个只从 main() 调用一次的函数被调用了 102 次?
我是一名初学者,为了好玩而编写了以下程序,用于搜索目录并将每个出现的单词替换为另一个单词。我调用了 crt_ls_file() 函数一次,而且只调用了一次…
如何分析多线程 C++ Linux 上的应用程序?
我曾经使用 gprof 进行所有 Linux 分析。 但是,对于我的多线程应用程序,其输出似乎不一致。 现在,我挖出了这个: http://sam.zoy.org/writings/pro…
优化:用于 Visual Studio 的 gprof 等工具
作为一名 C# 程序员,我正处于从小项目到中型项目的过渡中。我以前的小项目不需要分析器。但现在我需要一个工具来帮助我提高代码的性能。我很多年前在…
内存不足错误。分配...
我正在尝试使用 gprof 命令:gprof -sexecutable.exe gmon.out gmon.sum 来合并从两次运行程序中收集的分析数据。但出现以下错误: gprof:在总共 196…
如何在不分析主机应用程序的情况下分析共享对象?
我有一个主机应用程序,并且编写了一个插件。我将插件编译为共享对象(例如 foo.so),主机应用程序将通过 dlopen 加载它。在这种情况下,我的主机应…
gprof:如何为链接到主程序的共享库中的函数生成调用图
我正在Linux环境下工作。我有两个“C”源代码包 train 和 test_train。 train 包编译时会生成 libtrain.so test_train 链接到 libtrain.so 并生成可执…