我创建了一个 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)
..
..
如果你把你的脚本变成一个包(无论如何你应该这样做,从长远来看......)那么你可以使用Imports
仅包含您使用的包中所需的符号 - 这通常比完全加载快一点Depends
.
所以关键是
- 使用包
- 学习关于
NAMESPACE
-
import
只是您需要的符号。
正交方法是不重新启动并节省时间 --- 您可以使用Rserve http://rforge.net/Rserve作为常驻 R 实例,只需使用 R 客户端连接到它。不过可能还有更多工作...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)