R脚本和库预加载?

Van*_*las 2 shell r preload rscript

我创建了一个R脚本,它首先需要加载一些库.

问题是脚本需要1.6秒才能完成计算(使用Linux命令"time"多次测量),0.7秒只需加载库!

该脚本经常运行,因此库加载的延迟几乎占实际工作负载的80%!

有没有办法预先加载库,以便每次脚本运行时都不会加载它们?

任何其他建议绕过这种缓慢?

#!/usr/bin/Rscript

library(methods, quietly=TRUE, warn.conflicts = FALSE)
library(MASS, quietly=TRUE, warn.conflicts = FALSE)
library(RBGL, quietly=TRUE, warn.conflicts = FALSE)
library(igraph, quietly=TRUE, warn.conflicts = FALSE)
library(bnlearn, quietly=TRUE, warn.conflicts = FALSE)
library(gRbase, quietly=TRUE, warn.conflicts = FALSE)
library(gRain, quietly=TRUE, warn.conflicts = FALSE)
..
..
Run Code Online (Sandbox Code Playgroud)

Dir*_*tel 5

如果你把你的脚本变成一个包(无论如何,你应该从长远来看......)然后你可以只使用你所使用Imports的包所需的符号 - 这通常比完全加载快一些做完了Depends.

所以关键是要

  1. 使用包
  2. 学习关于 NAMESPACE
  3. import 只是你需要的符号.

正交方法不是重新启动并节省时间 - 您可以将Rserve用作驻留R实例并使用R客户端连接到它.可能还有更多的工作......