Mirai-based localhost multisession futures
Source:R/MiraiMultisessionFutureBackend-class.R
mirai_multisession.Rd
Mirai-based localhost multisession futures
Usage
mirai_multisession(..., workers = availableCores(), envir = parent.frame())
Arguments
- workers
The number of parallel processes to use. If a function, it is called without arguments when the future is created and its value is used to configure the workers.
- envir
The environment from where global objects should be identified.
- ...
Additional arguments passed to
Future()
.
Examples
plan(mirai_multisession)
# A function that returns a future, note that N uses lexical scoping...
f <- function() future({4 * sum((runif(N) ^ 2 + runif(N) ^ 2) < 1) / N}, seed = TRUE)
# Run a simple sampling approximation of pi in parallel using M * N points:
N <- 1e6 # samples per worker
M <- 10 # iterations
pi_est <- Reduce(sum, Map(value, replicate(M, f()))) / M
print(pi_est)
#> [1] 3.141466
plan(sequential)
invisible(mirai::daemons(0)) ## Shut down mirai workers