getExpression: Inject code for the next type of future to use for nested futures
Description
Inject code for the next type of future to use for nested futuresUsage
getExpression(future, ...)
Value
A future expression with code injected to set what
type of future to use for nested futures, iff any.Details
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=0L)
, which
means that no additional R processes may be spawned off
by functions such as 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 https://github.com/HenrikBengtsson/future/issues/37
for plans on adding support for custom nested future types. (*) Note that using mc.cores=0
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.