R/Future-class.R
getExpression.Rd
Inject code for the next type of future to use for nested futures
getExpression(future, ...)
A future expression with code injected to set what type of future to use for nested futures, iff any.
If no next future strategy is specified, the default is to
use sequential futures. This conservative approach protects
against spawning off recursive futures by mistake, especially
multicore and multisession ones.
The default will also set options(mc.cores = 1L)
(*) so that
no parallel R processes are spawned off by functions such as
parallel::mclapply()
and friends.
Currently it is not possible to specify what type of nested futures to be used, meaning the above default will always be used. See Issue #37 for plans on adding support for custom nested future types.
(*) Ideally we would set mc.cores = 0
but that will unfortunately
cause mclapply()
and friends to generate an error saying
"'mc.cores' must be >= 1". Ideally those functions should
fall back to using the non-multicore alternative in this
case, e.g. mclapply(...)
=> lapply(...)
.
See https://github.com/HenrikBengtsson/Wishlist-for-R/issues/7
for a discussion on this.