将函数放在一个文件中会提高速度吗?

时间:2016-07-23 09:45:26

标签: r performance function file

如果我将所有功能都写入一个用于多个脚本的文件中,那么在脚本顶部输出包含函数的文件会提高我的速度吗?例如,如果我调用source(fn.r),我是否可以调用我创建的函数,因为它们已经保存在工作区中?我试图减少脚本运行和提高性能所需的时间。欢迎任何有关提高速度的其他提示

1 个答案:

答案 0 :(得分:0)

获取文件会加载该脚本中的所有函数。源代码对这些函数的运行速度没有太大影响,因为无论如何它们都会在内存中运行,但你应该看一下R编译器,以获得适度的速度提升。

有关编译器的信息,请参见blog post

  

各种组合功能的性能增益可以介于两者之间   运行时间快2到5倍。这对小人来说很棒   工作量...它需要......而且,通过组合   带有R代码的C / C ++代码(通过{Rcpp}和{Inline}包)你   可以将代码的运行时间提高80倍...相对于   解释代码。但为了公平对待R,用于此类的代码   示例通常是不切实际的代码示例,通常不是   代表真正的R工作。因此,有效的速度增益可以   预计会变小。

使用编译器的最简单方法是将其放在脚本的开头。然后,R将自动编译您创建的任何函数。

require(compiler)
enableJIT(3)