MOz*_*les 5 c++ profiling r rcpp gperftools
我用 Rcpp 制作了一个 R 包,其中整个模拟在 C++ 中运行,结果在 R 中分析。现在我需要分析我的函数,以便我可以优化它们,但 R 分析器无法区分 C++ 函数内部发生了什么,我当函数只能从 R 内部运行时,不知道如何运行 C++ 分析器。
到目前为止,我已经找到了一些使用 gperftools 的建议(问题和教程),但指南不完整(也许他们假设我缺乏一定的知识水平?),缺少链接,我一直在撞墙。因此这个问题。这是我所在的位置:
当前的墙是 gcc 告诉我“未定义符号:ProfilerStart”,所以我认为链接有问题?
毕竟这是一个链接错误,是由于我第一次使用 Makevars 缺乏经验造成的。在步骤 #4 中,我将“-lprofiler”添加到PKG_CXXFLAGS,用于编译,而我应该将其添加到PKG_LIBS. 我进行了更改,现在分析器工作得很好。现在这是我的 Makevar:
PKG_CXXFLAGS += -Wall -pedantic -g -ggdb #-fno-inline-small-functions
PKG_LIBS += -lprofiler
CXX_STD = CXX11