【问题标题】:How to Start RServe pre-loaded with library如何启动预加载库的 RServe
【发布时间】:2015-02-20 17:03:33
【问题描述】:

每次创建新的 RConnection 时,我都需要加载一个库。启动 RServe 时是否可以预加载它?

每次新的 RConnection 都加载它会使其变慢。

【问题讨论】:

标签: r rserve


【解决方案1】:

是的,您可以使用evalsource 配置选项或--RS-source <file> 命令行选项。您以这种方式加载的任何内容都会在服务器开始侦听连接之前预先加载到服务器中。

【讨论】:

  • 这是一个在 Linux 上的示例:R CMD Rserve --RS-source ~/Desktop/SomeApplication/rserve-config/SomeApplication.conf 将其放入 bash 脚本中,您就可以启动服务器并加载所有库。
  • @DanielNeel 你没把--RS-conf--RS-source 混淆,AFAIK 应该指向 R 文件。
  • @jangorecki 有可能,我不确定 - 我目前无法访问我的 R 设置。如果有人可以验证这一点,我可以编辑我的评论。
【解决方案2】:

它可能无法正常工作,因为您缺少库名称周围的引号。另一种方法是将 eval 行放在 /etc/Rserve.conf 中,如下所示:

eval library('lib1'); library('lib2'); library('lib3')

【讨论】:

  • 这个注释用起来比较明显。非常感谢!
【解决方案3】:

最后我发现RConnection只能加载库,每个RConnection都需要初始化所有的库和包。

我们只需要优化我们使用 RConnection 的方式。

【讨论】:

  • 这根本不是真的 - Rserve 通常是用户正是为了避免这种开销。
最近更新 更多