如何评测Rcpp代码(在linux上) 我用RCPP做了一个R包,其中所有的模拟都在C++中运行,结果在R中被分析。现在我需要对我的函数进行配置,以便优化它们,但是R分析器不能区分C++函数中发生的事情,当函数只能从R.内运行时,我不知道如何运行C++的剖析器。

如何评测Rcpp代码(在linux上) 我用RCPP做了一个R包,其中所有的模拟都在C++中运行,结果在R中被分析。现在我需要对我的函数进行配置,以便优化它们,但是R分析器不能区分C++函数中发生的事情,当函数只能从R.内运行时,我不知道如何运行C++的剖析器。,c++,r,profiling,rcpp,gperftools,C++,R,Profiling,Rcpp,Gperftools,到目前为止,我已经找到了一些使用gperftools(和)的建议,但这些指南并不完整(可能他们认为我缺乏某种程度的知识?),缺少链接,而且我一直在碰壁。所以这个问题。这就是我所处的位置: 安装gperftools(我是用pacman从extra/gperftools安装的) < LI>在C++标题上包括gPultSoo/Primult.h 在C++代码中添加PrimuleRead(“MyProf .log”)和PrruleStor(),以围绕我想要的配置 使用-lprofiler编译 运行“$C

到目前为止,我已经找到了一些使用gperftools(和)的建议,但这些指南并不完整(可能他们认为我缺乏某种程度的知识?),缺少链接,而且我一直在碰壁。所以这个问题。这就是我所处的位置:

  • 安装gperftools(我是用pacman从extra/gperftools安装的)
  • < LI>在C++标题上包括gPultSoo/Primult.h 在C++代码中添加PrimuleRead(“MyProf .log”)和PrruleStor(),以围绕我想要的配置
  • 使用-lprofiler编译
  • 运行“$CPUPROFILE=“myprof.log”R-f myscript.R”

  • 当前的墙是gcc,它告诉我“未定义的符号:ProfilerStart”,所以我认为链接有问题?

    我对gperftools不是很满意。此外,它似乎是一个检测分析器,基于采样的分析器更易于使用,并且可能运行得更快。Intels VTune是一款优秀的基于采样的分析器,如果您是教育用户,则可免费使用。即使你不是,你的组织可能已经有了许可证


    谈到你的gperftools问题,是的,这是一个链接器问题。由于您已决定不共享任何相关信息(链接命令?编译命令?实际错误消息?),我们无法进一步帮助您

    这毕竟是一个链接错误,是由于我缺乏经验,因为这是我第一次使用Makevars。 在步骤4中,我将“-lprofiler”添加到
    PKG\u cxflags
    ,这是在编译时使用的,而我本应该将它添加到
    PKG\u LIBS
    。我做了更改,现在探查器工作正常。这是我现在的Makevars:

    PKG_cxflags+=-Wall-pedantic-g-ggdb#-fno内联小函数
    PKG_LIBS+=-lprofiler
    CXX_标准=CXX11
    

    好吧,正如我网站上的一些老幻灯片所示,它在过去对我很有效……你完全正确,我真的应该在问题中包括我的Makevars。我想我希望人们会推荐我其他的剖析者?