RServe 共享库代码

标签 r rserve

RServe 生成​​的进程是否有可能共享一些加载到内存中的公共(public)库?
想象一下,我需要同时在 100 个不同的 RConnections 上执行下面的代码。

library(libraryOfSize40MB)
fun()

这意味着我需要大约 3.9GB 的内存来加载库。我宁愿加载一次库,然后执行 fun()一百次,这样我就可以在便宜的主机上运行它。

也许这有帮助?
https://github.com/s-u/Rserve/blob/master/NEWS#L40-L48

最佳答案

有可能的。您必须使用 run.serve 从 R shell 运行 RServe前面是加载的库:

library(Rserve)

#load libraries so all connections will share them
library("yaml")
library("reshape")
library("rjson")
library("zoo")
(...)
library("stringr")

run.Rserve(debug = TRUE, port = 6311, remote=TRUE, auth=FALSE, args="--no-save", config.file = "/etc/Rserve.conf")

每个新连接都可以看到这个库
library(RSclient)
con = RS.connect(host='10.1.2.3')
RS.eval(con, quote(search()))
> #lots of libraries available

关于RServe 共享库代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31433840/

相关文章:

r - 计算R中列表的每个父节点下的xmlchildren数量

java - 使用 Rserve 时由于错误太大而丢弃缓冲区

r - 无法使用 Rserve 将数据写入 csv

r - 如何在 Rserve 中实现回调机制?

r - 使用终端将参数传递给 Rserve

java - R xlsx 包错误

r - 修复 sommer 的 mmer2 中的方差分量?

r - 查找从一个数据集到第二个数据集的最近点(纬度/经度)

r - 将两个二进制变量合并为一个具有四个可能值的变量

java - 在 Rserve 上仅采购一次 r 文件