剖析C代码

剖析C代码,c,r,C,R,我对R很陌生,但对C并不陌生。我正在看一看是否可以为朋友加快打包速度。通常使用C,我会编译一个设置了-pg标志的应用程序,然后将gprof传递给gmon.out文件 我试着将库转换成一个独立的应用程序,但是有太多的依赖项都绑定在R(实用程序,甚至一些奇怪的fortran库)中,所以放弃了这条路径 我还编辑了~/.R/Makevars以包含-pg。但在我能找到的任何地方,似乎都没有生成gmon.out文件 似乎是信息最多的地方,但我觉得它不是很有帮助(可能是因为它已经10年了)。我试图启动并运行o

我对R很陌生,但对C并不陌生。我正在看一看是否可以为朋友加快打包速度。通常使用C,我会编译一个设置了-pg标志的应用程序,然后将gprof传递给gmon.out文件

我试着将库转换成一个独立的应用程序,但是有太多的依赖项都绑定在R(实用程序,甚至一些奇怪的fortran库)中,所以放弃了这条路径

我还编辑了~/.R/Makevars以包含-pg。但在我能找到的任何地方,似乎都没有生成gmon.out文件

似乎是信息最多的地方,但我觉得它不是很有帮助(可能是因为它已经10年了)。我试图启动并运行oprofile,但失败了

请给我指一下正确的方向好吗

TL;DR:如何在R软件包中分析C代码?

感谢reddit上的over为我指明了方向

因此,答案如下:

  • 编写一些测试代码作为r脚本
  • 安装libgoogle perftools dev和google perftools
  • 因此运行代码:LD_PRELOAD=“/usr/lib/libprofiler.so.0”CPUPROFILE=/tmp/rprof.log r testCode.r(可能需要是su-或只是将输出改为~/somefolder)
  • 然后运行:googlepprof--cum--text/usr/bin/r/tmp/rprof.log | less