source("incl/start.R")
library("listenv")
message("*** Globals - too large ...")
ooptsT <- options(future.globals.maxSize = object.size(1:1000) - 1L)
limit <- getOption("future.globals.maxSize")
cat(sprintf("Max total size of globals: %g bytes\n", limit))
plan(multisession)
exprs <- list(
A = substitute({ a }, env = list()),
B = substitute({ a * b }, env = list()),
C = substitute({ a * b * c }, env = list()),
D = substitute({ a * b * c * d }, env = list()),
E = substitute({ a * b * c * d * e }, env = list())
)
a <- 1:1000
b <- 1:900
c <- 1:800
d <- 1:700
e <- 1
for (name in names(exprs)) {
message(sprintf("Expression %s:", name))
expr <- exprs[[name]]
print(expr)
res <- tryCatch({
f <- future(expr, substitute = FALSE)
}, error = function(ex) ex)
print(res)
stopifnot(inherits(res, "error"))
msg <- conditionMessage(res)
stopifnot(grepl("exceeds the maximum allowed size", msg))
}
message("*** Globals - too large ... DONE")
source("incl/end.R")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.