Я использую функцию future_map из пакета furrr и не могу найти никакой информации о том, как происходит порядок вычислений.
Рассмотрим пример:
library(tidyverse)
library(furrr)
plan(multiprocess, workers=20)
data.frame(t=seq(1,100,1)^2) %>%
mutate(tmp = future_map(.x=t,.f=function(x){sys.sleep(x); return(1)}))
Мой вопрос таков: - это оценка future_map в последовательном порядке - начиная с первой строки и заканчивая последней строкой, по одной строке за раз? В этом случае я мог бы переставить трудоемкие итерации в начале, чтобы уменьшить время простоя ядер. Или же кластеризован кадр данных на 20 частей, а затем отправляется каждому работнику? В этом случае более сложная перестановка будет оптимальной. Или это происходит третьим и другим способом?