如果我将所有功能都写入一个用于多个脚本的文件中,那么在脚本顶部输出包含函数的文件会提高我的速度吗?例如,如果我调用source(fn.r),我是否可以调用我创建的函数,因为它们已经保存在工作区中?我试图减少脚本运行和提高性能所需的时间。欢迎任何有关提高速度的其他提示
答案 0 :(得分:0)
获取文件会加载该脚本中的所有函数。源代码对这些函数的运行速度没有太大影响,因为无论如何它们都会在内存中运行,但你应该看一下R编译器,以获得适度的速度提升。
有关编译器的信息,请参见blog post
各种组合功能的性能增益可以介于两者之间 运行时间快2到5倍。这对小人来说很棒 工作量...它需要......而且,通过组合 带有R代码的C / C ++代码(通过{Rcpp}和{Inline}包)你 可以将代码的运行时间提高80倍...相对于 解释代码。但为了公平对待R,用于此类的代码 示例通常是不切实际的代码示例,通常不是 代表真正的R工作。因此,有效的速度增益可以 预计会变小。
使用编译器的最简单方法是将其放在脚本的开头。然后,R将自动编译您创建的任何函数。
require(compiler)
enableJIT(3)