标签: gprof

替代-pg与Clang?

我希望描述CPU(尽可能的样本),尽可能小的性能影响(因此类似于GCC -pg),使用Clang编译的二进制文件.是否有替代方法使用代码检测,或产生类似于gprof的输出?

c gcc profiling clang gprof

20
推荐指数
1
解决办法
1万
查看次数

为什么矩阵乘法算法中的循环次序会影响性能?

我有两个函数来查找两个矩阵的乘积:

 void MultiplyMatrices_1(int **a, int **b, int **c, int n){
      for (int i = 0; i < n; i++)
          for (int j = 0; j < n; j++)
              for (int k = 0; k < n; k++)
                  c[i][j] = c[i][j] + a[i][k]*b[k][j];
  }

 void MultiplyMatrices_2(int **a, int **b, int **c, int n){
      for (int i = 0; i < n; i++)
          for (int k = 0; k < n; k++)
              for (int j = 0; j < n; j++)
                  c[i][j] …
Run Code Online (Sandbox Code Playgroud)

c algorithm matrix gprof matrix-multiplication

17
推荐指数
2
解决办法
9288
查看次数

gcc:对_mcount的未定义引用(gprof instrumentation)

在使用-pg注入gprof配置文件检测代码的选项编译我的c ++源时,编译失败并显示undefined reference to _mcount错误.

没有这个选项,一切都可以编译(并运行).我的情况有什么问题?(Solaris 10 SPARC平台)

compiler-construction gcc profiling solaris gprof

16
推荐指数
1
解决办法
1万
查看次数

如何在Mac OS X上从命令行进行配置?

我试图使用命令行工具在Mac OS X配置文件的C/C++代码,我使用-pg与选项gcc来运行gprof在Linux上,但我似乎无法找到gprof在Mac上,即使我有这个页面的说明:其他命令行工具(iOS)其他命令行工具(mac).

gprof:Produces execution profiles based on an execution analysis of a program.
Run Code Online (Sandbox Code Playgroud)

我安装的命令行工具,所以其他的命令行工具,如otoolatos可用.我用谷歌搜索这个页面(https://apple.stackexchange.com/questions/154289/installing-gprof-on-mac),说不gprof支持,但我不确定我什么时候有一个描述该工具的Apple doc ; 无论如何,我试图用来brew下载gprof,但它没有用.

我发现尝试在Mac上使用带有C++代码的gprof,但我没有输出instruments -t.我还在mac os x上发现了profiling c ++,但我不想打开Instruments,因为我想自动化一些进程并尝试保持跨平台系统.

  • 如何在Mac OS X上使用gprof?我使用OS X 10.10.
  • 如何在命令行中进行配置,无论是否有gprof

c c++ macos profiling gprof

16
推荐指数
3
解决办法
6833
查看次数

用于分析OCaml代码的工具

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

profiling ocaml gprof

15
推荐指数
3
解决办法
1948
查看次数

gprof究竟是如何工作的?

这是一个臃肿的问题,所以我提前道歉.我很好奇如何gprof在低技术水平上工作.我理解它是由计时器完成的,但是为什么可执行文件需要专门编译才能被分析?编译是否会导致为统计分配空间?

此外,时间如何完成?

profiler profiling gprof

14
推荐指数
2
解决办法
7320
查看次数

以任何方式指定配置文件数据的位置

运行可执行文件的默认配置文件,并调用该文件gmon.out.有没有办法指定新的位置?

我在i386/linux2.6上使用gcc 3.4.6

linux gcc gprof

13
推荐指数
2
解决办法
3803
查看次数

使用g ++编译-pg标志时,不会创建gmon.out

我在Mac OSX上运行,版本10.8.5(Mountain Lion).我有以下简单的C++代码.

main.cpp:

#include <iostream>

int main ()
{
    std::cout << "Hello world!"<<std::endl;
    std::cout << "Goodbye world!"<<std::endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我正试图让gprof在我的电脑上工作.如手册所示,我在我的终端中输入以下两行:

g++ -g -pg main.cpp -o a.out 
./a.out
Run Code Online (Sandbox Code Playgroud)

但是,这不会生成gmon.out应该的文件.当我尝试gprof在终端输入时,它说:

gprof: can't open: gmon.out (No such file or directory)
Run Code Online (Sandbox Code Playgroud)

这是预料到的,因为gmon.out不存在......

关于我做错了什么的任何想法?

编辑:其他一些可能有帮助的事情:

  • 我的朋友,有一个类似的OS X版本(我可以让他后来确认),以及完全相同的版本,g++并且gprof能够gprof成功使用,如我所概述的那样.

  • 我使用的是旧版本,g++但我在网上看到更新到新版本并没有帮助.

  • a.out完美的作品,它打印出Hello world!Goodbye world!.我还尝试使用更复杂的C++程序和几个类,它仍然有同样的问题.一切都编译并正常运行,但没有生成gmon.out文件.

c++ macos g++ gprof

13
推荐指数
1
解决办法
6042
查看次数

如何在OS X上安装gprof

我正在尝试使用gprof来编写我编写的c ++应用程序,但我无法弄清楚如何下载和安装它.我用谷歌搜索了我能想到的一切,甚至找不到下载链接.有人请帮忙!

c++ profiling install gprof

13
推荐指数
2
解决办法
1万
查看次数

GCC gprof 逐行错误“有人错误计数”

我想使用 gcc 的 gprof 逐行分析。但是在编译我的程序、运行它并执行之后,gprof -l binary_name我收到如下消息:

gprof: somebody miscounted: ltab.len=9403 instead of 9391
Run Code Online (Sandbox Code Playgroud)

gprof binary_name运行没有错误,但我无法使用该-l选项运行。我无法找到这方面的文档。谷歌自动完成表明我不是第一个收到此错误的人,但我找不到任何相关线程。我尝试过 g++-9 g++-10 和 g++-11。我尝试过使用-g和进行编译-ggdb。我认为也许 gprof 不喜欢我的程序是多线程的,但即使删除 OpenMP 依赖项并告诉 libtorch 使用 1 个线程,我也会得到相同的行为。

我怀疑这个错误不应该被最终用户看到,因为它没有给出解决方案的提示,并提到ltab.len这很可能是用户不会熟悉的 gcc 代码中的变量。

gcc g++ gprof

13
推荐指数
1
解决办法
645
查看次数