避免在多个 运行 的 R 脚本上加载库
Avoid loading libraries on multiple run of R script
我需要运行(几次)我的R脚本(script.R),基本上看起来像这样:
library(myLib)
cmd = commandArgs(TRUE)
args=myLib::parse.cmd(cmd)
myLib::exec(args)
myLib
是我自己的包,里面加载了一些依赖(car,minpack.lm,plyr,ggplot2)。加载库所需的时间与 myLib::exec
的时间相当,所以我正在寻找一种方法来帮助我在每次调用 Rscript script.R
时都不会加载它们
我知道 Rserve
,但它看起来有点矫枉过正,尽管它可以完全满足我的需要。还有其他解决方案吗?
P.S:我使用 Scala 从 JVM 调用 script.R
。
简述:
- 启动时你需要加载你的库
- 如果你重复调用并重复启动你重复加载库
- 您已经提到了一个有状态的解决方案 (Rserve),它允许您启动它一次 但是多次连接和评估
所以我认为你回答了你的问题。
否则,我喜欢 littler and have shown how it starts faster than either R or Rscript -- 但最快的方法就是不重新启动。
我需要运行(几次)我的R脚本(script.R),基本上看起来像这样:
library(myLib)
cmd = commandArgs(TRUE)
args=myLib::parse.cmd(cmd)
myLib::exec(args)
myLib
是我自己的包,里面加载了一些依赖(car,minpack.lm,plyr,ggplot2)。加载库所需的时间与 myLib::exec
的时间相当,所以我正在寻找一种方法来帮助我在每次调用 Rscript script.R
我知道 Rserve
,但它看起来有点矫枉过正,尽管它可以完全满足我的需要。还有其他解决方案吗?
P.S:我使用 Scala 从 JVM 调用 script.R
。
简述:
- 启动时你需要加载你的库
- 如果你重复调用并重复启动你重复加载库
- 您已经提到了一个有状态的解决方案 (Rserve),它允许您启动它一次 但是多次连接和评估
所以我认为你回答了你的问题。
否则,我喜欢 littler and have shown how it starts faster than either R or Rscript -- 但最快的方法就是不重新启动。