调用R-package时提高性能

时间:2017-03-22 12:58:39

标签: r performance opencpu

我们已经创建了一个R-package,应该通过OpenCPU进行实时评分。现在的问题是我们正在调用我们的包有很大的开销。 R部分执行得非常快,因此开销在R初始化之前和之后。

R包中包含两个modelobejcts(100 MB和40 MB)。我们可以看到性能不佳与模型的大小有关,因为如果对象较小,性能会提高。

我们已在server.conf中添加了要预加载的包,并添加了onLoad <- function(lib, pkg)lazyload = FALSE

我们还试图在inst / extdata中保存数据,然后使用readRDS(system.file())加载数据

我们期望从两个解决方案中,模型在第一次加载包时被缓存到内存,然后保存在内存中,因此不会重新加载,但这似乎不起作用 - 或者似乎有一些开销在完成每个卷曲。

我们在这里缺少什么?

以下时间就是我对opencpu服务器上的特定包进行httr::GET(url)的时候:

redirect    namelookup    connect   pretransfer starttransfer total 

1.626196    0.000045      0.000049  0.000118    1.633508      3.259843

为了比较,当我们对其中一个标准包进行GET时,我们得到以下结果:

redirect    namelookup       connect   pretransfer starttransfer total 

0.085428      0.000044      0.000049      0.000125      0.046630      0.132217

我是这个的新手,不知道还能做什么。我在文档中找不到有关时间的内容或数据缓存到内存的任何内容。

0 个答案:

没有答案