Как эффективно сохранить несколько файлов .rds с распараллеливанием?
Я применяю функцию к другим данным ~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