0

我将一个函数应用于不同的数据 ~2000 次,我想在每次迭代后保存 .rds 。我已经使用 furrr/foreach 对代码进行了并行化,所以目前它非常有效。但是,我不知道如何保存每次迭代的中间结果并同时保留计算时间。那么,是否可以有效地并行保存多个 .rds?

可重现的例子:

library(tictoc)
library(future)

plan(multiprocess)

custom_f <- function(x) {
  saveRDS(rep(seq(x:(x+10000), 10000) ), 
          file = paste0(x,'.RDS'), 
          compress = F)
}

tic()
furrr::future_map(1:10, custom_f)
toc()
# 95.38 sec elapsed


tic()
for (i in 1:10){
  custom_f(i)
}
toc()
# 62.93 sec elapsed

4

0 回答 0