首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何缓存并行计算结果与回忆录::回忆录?

如何缓存并行计算结果与回忆录::回忆录?
EN

Stack Overflow用户
提问于 2017-12-26 02:10:20
回答 1查看 259关注 0票数 0

我正在预计算结果,并使用回忆录包的回忆录函数缓存它们。不幸的是,如果我试图通过与parallel::mclapply并行运行来加快计算速度,那么回忆录就不会发生。

代码语言:javascript
复制
> f <- memoise::memoise(function (a, b) a)
> memoise::has_cache(f)("foo", "bar")
[1] FALSE

> parallel::mclapply(c("bar", "baz"), f, a = "foo")
[[1]]
[1] "foo"

[[2]]
[1] "foo"

> memoise::has_cache(f)("foo", "bar")
[1] FALSE

> sapply(c("bar", "baz"), f, a = "foo")
  bar   baz 
"foo" "foo" 
> memoise::has_cache(f)("foo", "bar")
[1] TRUE

我想回忆录的功能会被复制然后丢弃在每个叉子里.是否有使用其他函数或包的简单替代方案?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-04 20:08:04

把我的评论变成一个回答:

R.cache包(我是作者)回忆录为文件,这意味着缓存跨R会话和并行R进程工作。显然,与内存缓存相比,文件缓存增加了一些开销。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47973314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档