【发布时间】:2015-02-20 17:03:33
【问题描述】:
每次创建新的 RConnection 时,我都需要加载一个库。启动 RServe 时是否可以预加载它?
每次新的 RConnection 都加载它会使其变慢。
【问题讨论】:
-
试过这样:Rserve(debug=FALSE, port=6312, eval=library(forecast), wait=FALSE) 但它没有用...需要帮助来使用预加载的库启动 Rserve。
每次创建新的 RConnection 时,我都需要加载一个库。启动 RServe 时是否可以预加载它?
每次新的 RConnection 都加载它会使其变慢。
【问题讨论】:
是的,您可以使用eval 或source 配置选项或--RS-source <file> 命令行选项。您以这种方式加载的任何内容都会在服务器开始侦听连接之前预先加载到服务器中。
【讨论】:
R CMD Rserve --RS-source ~/Desktop/SomeApplication/rserve-config/SomeApplication.conf 将其放入 bash 脚本中,您就可以启动服务器并加载所有库。
--RS-conf 和--RS-source 混淆,AFAIK 应该指向 R 文件。
它可能无法正常工作,因为您缺少库名称周围的引号。另一种方法是将 eval 行放在 /etc/Rserve.conf 中,如下所示:
eval library('lib1'); library('lib2'); library('lib3')
【讨论】:
最后我发现RConnection只能加载库,每个RConnection都需要初始化所有的库和包。
我们只需要优化我们使用 RConnection 的方式。
【讨论】: