编译R代码时的选项

时间:2016-12-10 01:32:58

标签: r compilation compiler-optimization jit

我通常只是在控制台上复制粘贴(或source(..))我的R代码,因此R中的编译对我来说非常模糊。

编译C ++代码时,可以指示编译器(例如#define#pragma)或特定标志以指示优化级别(例如-o2 )。

R中是否有#InfoForCompiler-o2?是否有可能对如何以及何时(在定义函数或第一次调用函数时)编译R代码做出具体选择?

1 个答案:

答案 0 :(得分:4)

无论您选择哪种方式进行编译,从R CMD COMPILER CMD INSTALL获取包,或通过类似Rcpp::sourceCpp()之类的内容,始终将被R调用本身和

  • 尊重CXXFLAGS
  • 等环境变量
  • R在$RHOME/etc/Makeconf中查找其值(在/etc/R/Makeconf上的Debian系统上
  • 可以基于每个用户通过~/.R/Makeconf覆盖这些内容。

但正如@nrussell评论的那样会影响你已编译的R解释器,只会增加新的编译 - 例如包安装。

要为R本身更改此项,您必须从源代码重建R。