我正在研究前一个学生写的一些R代码。该代码的计算密集程度非常高,因此他似乎已经竭尽全力尽量减少所需的时间。
以下部分是一个例子:
# Now lets compile these functions, for a modest speed boost.
Sa <- cmpfun(Sa)
Sm <- cmpfun(Sm)
sa <- cmpfun(sa)
sm <- cmpfun(sm)
h <- cmpfun(h)
li <- cmpfun(lli)
ll <- cmpfun(ll)
他似乎使用了编译器包来执行此操作。
我从未听说过在R中进行编译,我对它的作用以及为什么它有助于加快代码感兴趣。我找不到像我这样的新手解释它的材料。
答案 0 :(得分:3)
自2.130版以来,编译器包已成为R的一部分。编译R函数会导致字节代码版本运行得更快。有许多方法可以编译。默认情况下会编译所有基本R函数。
通过cmpfun
编译各个功能。或者,您可以调用enableJIT(3)
一次,并自动编译R代码。
我发现编译R代码可以提供适度的,无成本的速度提升 - 有关定时示例,请参阅Efficient R programming。
在R 3.4.X
中,默认情况下会打开字节编译