是否存在C / C ++的R编译器?

我想知道部署R的最佳方法.Matlab有“matlab编译器”(MCR)。 对R来说,过去已经讨论过将R编译成C或C ++的类似内容。 有没有人有任何由John Garvin在Rice开发的R to C编译器(RCC)的经验?

我已经研究过它,它似乎是唯一一个将R代码编译成可执行代码的项目。 据我所知,它还没有被使用。

[编辑1:] :要清楚,我知道有R和R(rJava,rcpp,Rpy等)的C和C ++(以及Java,Python等)接口。 我想知道在没有事先安装R的情况下编译和部署R代码的具体方法。

[编辑2:] :John Mellor-Crummey告诉我,他们仍然在为RCC工作,并希望在4个月左右(最早)提供。 如果我发现其他任何问题,我会进一步更新。

字节码编译器将成为R 2.13版本的一部分。 默认情况下,它不在此版本中使用,但它可用; 我希望2.14版本默认字节编译所有基础和推荐的包。 compiler :: compile帮助页面和R安装和管理手册提供了更多详细信息。

我忘记了赖斯项目,已经有一段时间了。 我认为这里的操作术语在项目页面顶部说明: 最后更新于3/8/06

而且我们都知道R会发生很大变化。 所以我只有标准的几个指针:

  • Luke Tierney不仅对R内部知识有很多了解,而且对字节编译器也有同样的了解,他一直在研究这样一个项目。 什么都没有准备好,它仍然可以与标准的R引擎配合使用。
  • Stephen Milborrow对R的Ra扩展使用了他的即时编译器包jit
  • 我的高性能计算简介R教程(来自UseR!2009的最新教程幻灯片)涵盖了分析,编译扩展,与R的并行计算,…部分,包括Rcpp和一些关于RInside的内容 。

简而言之:如果不事先安装R,就没有办法让你想要特定的方法来编译和部署R代码 。 抱歉。

编辑/更新(2011年4月): Luke的新compiler包将成为R 2.13.0的一部分(将于2011年4月发布),但默认情况下不会“激活”,预计2011年10月的R 2.14.0将被激活。

编辑/更新(2011年12月): Tierney教授刚刚发布了一篇关于字节码编译器的大量100多页的论文 。

为什么人们在部署R时会产生恐惧? 我很确定我以前见过这个问题。

安装R是件小事(你实际上并没有说你关心哪个操作系统)。 对于Windows,它的一个.exe。 文件,运行它,几次说“是”并完成它。 我怀疑安装程序exe可能也有无人值守安装的标志。

您可以查看实现R子集的P编译器。特别是,列表,矩阵,向量等实现以及lsfit,chol,svd,…

您可以下载免费版本

http://www.ptechnologies.org

它大大加快了计算速度。

最好,

我没有使用过Garvin的包装,也不知道这些方面有什么可能。 然而:

通常人们在分析后直接在C / C ++ / Fortran中编写计算密集型函数来找到瓶颈。 有关示例,请参阅RCpp接口或使用.C和.Call从R调用C函数 。 Scythe统计库对R用户也非常好,因为语法/函数名称相似。