我创建了一个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)
..
..
答案 0 :(得分:5)
如果你把你的脚本变成一个包(无论如何,你应该从长远来看......)那么你可以使用Imports
只需要你所使用的包所需的符号 - 这通常是比Depends
更快地比满载更快。
所以关键是
NAMESPACE
import
只是您需要的符号。正交方法不是重新启动并节省时间 - 您可以使用Rserve作为驻留R实例并只使用R客户端连接到它。可能还有更多的工作......