r - R Shiny app中parLapply速度下降的原因是什么?
问题描述
我在 Shiny 应用操作按钮后面有一个 parLapply 函数。把它想象成:
用户界面
library(parallel)
actionButton("do", "some text")
服务器.R
optimize <- function(x){do something complex}
observeEvent(input$do,{
exetime <- system.time({
numCores <- detectCores()
cl <- makeCluster(numCores-2,type="SOCK")
outputs <- parLapply(cl,1:10000,optimize)
stopCluster(cl)
})
})
每次单击操作按钮时,闪亮的应用程序都会并行运行 parLapply 函数,这正是我想要的。我的问题是,当我继续单击操作按钮时,parLapply 的运行时间会增加。从理论上讲,我希望运行时间保持稳定,无论点击操作按钮的次数如何。
对 CPU 和内存使用的更详细调查表明,后期运行中较长的运行时间实际上与并行会话的内存使用增加有关 - 请参见下面的屏幕截图。似乎虽然我打了电话stopCluster(cl)
,但仍然有一些信息从一个运行到另一个运行。
我可以做些什么来纠正这种不希望的内存增加?
谢谢!
解决方案
推荐阅读
- algorithm - 如何避免嵌套 For 循环来选择组合?
- sql-server - 如何使用varchar数据类型的partitionColumn读取scala spark上的表?
- html - 背景图像不适用于 Firefox 48 以上版本和其他浏览器中的选择选项
- angular - Angular Material Select 在选项字段中显示函数名称
- android - 如何在应用程序的 Android 代码中创建主题
- python - django“only()”方法似乎不能正常工作
- r - R中的检查点更新问题
- permissions - 如何授予其他人在 BigQuery 中阅读我的 INFORMATION_SCHEMA.SCHEMATA 的权限?
- kubernetes - Kubernetes Pod (Plex) 上的连接被拒绝
- javascript - 之间的区别??和 ||