R Under development (unstable) (2025-07-28 r88462 ucrt) -- "Unsuffered Consequences" Copyright (C) 2025 The R Foundation for Statistical Computing Platform: x86_64-w64-mingw32/x64 R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > ## This runs testme test script inst/testme/test-futureSessionInfo.R > ## Don't edit - it was autogenerated by inst/testme/deploy.R > future:::testme("futureSessionInfo") Test 'futureSessionInfo' ... Sourcing 9 prologue scripts ... 01/09 prologue script 'D:/RCompile/CRANincoming/R-devel/lib/future/testme/_prologue/001.load.R' 02/09 prologue script 'D:/RCompile/CRANincoming/R-devel/lib/future/testme/_prologue/002.record-state.R' 03/09 prologue script 'D:/RCompile/CRANincoming/R-devel/lib/future/testme/_prologue/030.imports.R' 04/09 prologue script 'D:/RCompile/CRANincoming/R-devel/lib/future/testme/_prologue/050.utils.R' 05/09 prologue script 'D:/RCompile/CRANincoming/R-devel/lib/future/testme/_prologue/090.context.R' 06/09 prologue script 'D:/RCompile/CRANincoming/R-devel/lib/future/testme/_prologue/090.options.R' 07/09 prologue script 'D:/RCompile/CRANincoming/R-devel/lib/future/testme/_prologue/091.envvars.R' 08/09 prologue script 'D:/RCompile/CRANincoming/R-devel/lib/future/testme/_prologue/099.future-setup.R' 09/09 prologue script 'D:/RCompile/CRANincoming/R-devel/lib/future/testme/_prologue/995.detrius-connections.R' Sourcing 9 prologue scripts ... done Running test script: 'D:/RCompile/CRANincoming/R-devel/lib/future/testme/test-futureSessionInfo.R' > library(future) [12:33:02.803] Option 'future.startup.script': TRUE [12:33:02.804] Future startup scripts considered: '.future.R', '~/.future.R' [12:33:02.804] Future startup scripts found: > message("*** futureSessionInfo() ...") *** futureSessionInfo() ... > message(" - test = FALSE") - test = FALSE > futureSessionInfo(test = FALSE) *** Package versions future 1.67.0, parallelly 1.45.1, parallel 4.6.0, globals 0.18.0, listenv 0.9.1 *** Allocations availableCores(): system /proc/self/status mc.cores 96 96 2 _R_CHECK_LIMIT_CORES_ 2 availableWorkers(): $mc.cores [1] "localhost" "localhost" $`_R_CHECK_LIMIT_CORES_` [1] "localhost" "localhost" $system [1] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [7] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [13] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [19] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [25] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [31] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [37] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [43] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [49] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [55] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [61] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [67] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [73] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [79] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [85] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [91] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" *** Settings - future.plan= - future.fork.multithreading.enable= - future.globals.maxSize= - future.globals.onReference= - future.resolve.recursive= - future.rng.onMisuse= - future.wait.timeout= - future.wait.interval= - future.wait.alpha= - future.startup.script= *** Backends [12:33:02.822] nbrOfWorkers(NULL) ... [12:33:02.822] | List of 4 [12:33:02.822] | $ : language message(sprintf(fmt, ...), appendLF = appendLF, domain = domain) [12:33:02.822] | $ : language sprintf(fmt, ...) [12:33:02.822] | $ : language nbrOfWorkers() [12:33:02.822] | $ : language nbrOfWorkers.NULL() [12:33:02.825] | plan("backend", .skip = FALSE, .cleanup = NA, .init = TRUE) ... [12:33:02.826] | : plan(): plan_init() of 'sequential', 'uniprocess', 'future', 'function' ... [12:33:02.826] | : . function (..., envir = parent.frame()) [12:33:02.826] | : . - attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [12:33:02.826] | : . - attr(*, "init")= logi TRUE [12:33:02.826] | : . - attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [12:33:02.826] | : . ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [12:33:02.826] | : . - attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [12:33:02.826] | : . - attr(*, "call")= language plan(sequential) [12:33:02.829] | : . init: TRUE [12:33:02.829] | : . makeFutureBackend() ... [12:33:02.830] | : . ' Backend function: <'NULL'> [12:33:02.830] | : . ' Evaluator tweak arguments: [n=0] [12:33:02.830] | : . ' list() [12:33:02.830] | : . ' Evaluator formal arguments: [n=0] [12:33:02.830] | : . ' list() [12:33:02.831] | : . ' Backend factory arguments: [n=0] [12:33:02.831] | : . ' NULL [12:33:02.832] | : . ' Backend: <'SequentialFutureBackend', 'FutureBackend', 'environment'> [12:33:02.832] | : . makeFutureBackend() ... done [12:33:02.834] | : plan(): plan_init() of 'sequential', 'uniprocess', 'future', 'function' ... done [12:33:02.834] | plan("backend", .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [12:33:02.834] | Number of workers: 1 [12:33:02.834] nbrOfWorkers(NULL) ... done Number of workers: 1 [12:33:02.835] plan("list", .skip = FALSE, .cleanup = NA, .init = TRUE) ... [12:33:02.835] | Getting full stack: [n=1] 'sequential', 'uniprocess', 'future', 'function' [12:33:02.835] plan("list", .skip = FALSE, .cleanup = NA, .init = TRUE) ... done List of future strategies: 1. sequential: - args: function (..., envir = parent.frame(), workers = "") - tweaked: FALSE - call: plan(sequential) *** Basic tests > message(" - test = TRUE") - test = TRUE > futureSessionInfo(test = TRUE) *** Package versions future 1.67.0, parallelly 1.45.1, parallel 4.6.0, globals 0.18.0, listenv 0.9.1 *** Allocations availableCores(): system /proc/self/status mc.cores 96 96 2 _R_CHECK_LIMIT_CORES_ 2 availableWorkers(): $mc.cores [1] "localhost" "localhost" $`_R_CHECK_LIMIT_CORES_` [1] "localhost" "localhost" $system [1] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [7] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [13] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [19] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [25] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [31] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [37] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [43] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [49] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [55] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [61] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [67] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [73] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [79] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [85] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" [91] "localhost" "localhost" "localhost" "localhost" "localhost" "localhost" *** Settings - future.plan= - future.fork.multithreading.enable= - future.globals.maxSize= - future.globals.onReference= - future.resolve.recursive= - future.rng.onMisuse= - future.wait.timeout= - future.wait.interval= - future.wait.alpha= - future.startup.script= *** Backends [12:33:02.846] nbrOfWorkers(NULL) ... [12:33:02.847] | List of 4 [12:33:02.847] | $ : language message(sprintf(fmt, ...), appendLF = appendLF, domain = domain) [12:33:02.847] | $ : language sprintf(fmt, ...) [12:33:02.847] | $ : language nbrOfWorkers() [12:33:02.847] | $ : language nbrOfWorkers.NULL() [12:33:02.848] | plan("backend", .skip = FALSE, .cleanup = NA, .init = TRUE) ... [12:33:02.848] | plan("backend", .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [12:33:02.849] | Number of workers: 1 [12:33:02.849] nbrOfWorkers(NULL) ... done Number of workers: 1 [12:33:02.849] plan("list", .skip = FALSE, .cleanup = NA, .init = TRUE) ... [12:33:02.849] | Getting full stack: [n=1] 'sequential', 'uniprocess', 'future', 'function' [12:33:02.850] plan("list", .skip = FALSE, .cleanup = NA, .init = TRUE) ... done List of future strategies: 1. sequential: - args: function (..., envir = parent.frame(), workers = "") - tweaked: FALSE - call: plan(sequential) *** Basic tests Main R session details: pid r sysname release version nodename machine login user 1 90884 4.6.0 Windows Server x64 build 20348 host001 x86-64 user001 user001 effective_user udomain 1 user001 CRANWIN3 [12:33:02.855] nbrOfWorkers(NULL) ... [12:33:02.855] | List of 4 [12:33:02.855] | $ : language eval(ei, envir) [12:33:02.855] | $ : language futureSessionInfo(test = TRUE) [12:33:02.855] | $ : language nbrOfWorkers() [12:33:02.855] | $ : language nbrOfWorkers.NULL() [12:33:02.857] | plan("backend", .skip = FALSE, .cleanup = NA, .init = TRUE) ... [12:33:02.857] | plan("backend", .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [12:33:02.857] | Number of workers: 1 [12:33:02.857] nbrOfWorkers(NULL) ... done [12:33:02.857] future(..., label = 'futureSessionInfo-1') ... [12:33:02.858] | lazy: FALSE [12:33:02.858] | stdout: TRUE [12:33:02.858] | conditions: [n=1] 'condition' [12:33:02.858] | gc: FALSE [12:33:02.858] | earlySignal: FALSE [12:33:02.859] | getGlobalsAndPackages() ... [12:33:02.859] | : Searching for globals ... [12:33:02.881] | : . globals found: [9] '{', 'Sys.sleep', 'delay', 'data.frame', 'ii', 'Sys.getpid', 'getRversion', 'as.list', 'Sys.info' [12:33:02.883] | : Searching for globals ... done [12:33:02.883] | : Resolving globals: FALSE [12:33:02.883] | : Search for packages associated with the globals ... [12:33:02.883] | : . Packages associated with globals: [1] 'base' [12:33:02.884] | : . Packages: [1] 'base' [12:33:02.884] | : Search for packages associated with the globals ... done [12:33:02.885] | : Packages after dropping 'base': [0] [12:33:02.885] | : globals: [2] 'delay', 'ii' [12:33:02.885] | : packages: [0] [12:33:02.885] | getGlobalsAndPackages() ... done [12:33:02.886] | run() for 'Future' ('futureSessionInfo-1') ... [12:33:02.886] | : state: 'created' [12:33:02.886] | : plan("backend", .skip = FALSE, .cleanup = NA, .init = TRUE) ... [12:33:02.886] | : plan("backend", .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [12:33:02.887] | : Using SequentialFutureBackend ... [12:33:02.887] | : . Number of futures since start: 0 (0 created, 0 launched, 0 finished) [12:33:02.887] | : . Launching futures ... [12:33:02.887] | : . ' launchFuture() for 'SequentialFutureBackend', 'FutureBackend', 'environment' ... [12:33:02.888] | : . ' , getFutureData() ... [12:33:02.888] | : . ' , ; getFutureCore() ... [12:33:02.888] | : . ' , ; ` Packages needed by the future expression (n = 0): [12:33:02.888] | : . ' , ; getFutureCore() ... done [12:33:02.888] | : . ' , ; getFutureCapture() ... [12:33:02.889] | : . ' , ; getFutureCapture() ... done [12:33:02.889] | : . ' , ; getFutureContext() ... [12:33:02.889] | : . ' , ; ` plan("tail", .skip = FALSE, .cleanup = NA, .init = TRUE) ... [12:33:02.889] | : . ' , ; ` | Getting stack without first backend: [n=0] [12:33:02.889] | : . ' , ; ` plan("tail", .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [12:33:02.889] | : . ' , ; ` Packages needed by future backend (n = 0): [12:33:02.890] | : . ' , ; getFutureContext() ... done [12:33:02.890] | : . ' , getFutureData() ... done [12:33:02.893] | : . ' , plan("list", .skip = FALSE, .cleanup = NA, .init = TRUE) ... [12:33:02.893] | : . ' , ; Getting full stack: [n=1] 'sequential', 'uniprocess', 'future', 'function' [12:33:02.893] | : . ' , plan("list", .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [12:33:02.894] | : . ' , plan(<'name'>, .skip = FALSE, .cleanup = FALSE, .init = FALSE) ... [12:33:02.894] | : . ' , ; plan(): plan_set(<1 strategies>, skip = FALSE, cleanup = FALSE, init = FALSE) ... [12:33:02.894] | : . ' , ; ` all.equal() for FutureStrategyList ... [12:33:02.894] | : . ' , ; ` | New stack: [12:33:02.895] | : . ' , ; ` | List of 1 [12:33:02.895] | : . ' , ; ` | $ :function (..., envir = parent.frame()) [12:33:02.895] | : . ' , ; ` | ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [12:33:02.895] | : . ' , ; ` | ..- attr(*, "init")= logi TRUE [12:33:02.895] | : . ' , ; ` | ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [12:33:02.895] | : . ' , ; ` | .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [12:33:02.895] | : . ' , ; ` | ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [12:33:02.895] | : . ' , ; ` | ..- attr(*, "call")= language plan(strategiesR, .cleanup = FALSE, .init = FALSE) [12:33:02.895] | : . ' , ; ` | - attr(*, "class")= chr [1:2] "FutureStrategyList" "list" [12:33:02.898] | : . ' , ; ` | Old stack: [12:33:02.898] | : . ' , ; ` | List of 1 [12:33:02.898] | : . ' , ; ` | $ :function (..., envir = parent.frame()) [12:33:02.898] | : . ' , ; ` | ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [12:33:02.898] | : . ' , ; ` | ..- attr(*, "init")= chr "done" [12:33:02.898] | : . ' , ; ` | ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [12:33:02.898] | : . ' , ; ` | .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [12:33:02.898] | : . ' , ; ` | ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [12:33:02.898] | : . ' , ; ` | ..- attr(*, "call")= language plan(sequential) [12:33:02.898] | : . ' , ; ` | ..- attr(*, "backend")=Classes 'SequentialFutureBackend', 'FutureBackend', 'environment' [12:33:02.898] | : . ' , ; ` | .. ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [12:33:02.898] | : . ' , ; ` | .. .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [12:33:02.898] | : . ' , ; ` | - attr(*, "class")= chr [1:2] "FutureStrategyList" "list" [12:33:02.902] | : . ' , ; ` | Not identical [12:33:02.902] | : . ' , ; ` | all.equal() for future ... [12:33:02.902] | : . ' , ; ` | : List of 2 [12:33:02.902] | : . ' , ; ` | : $ target :function (..., envir = parent.frame()) [12:33:02.902] | : . ' , ; ` | : ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [12:33:02.902] | : . ' , ; ` | : ..- attr(*, "init")= logi TRUE [12:33:02.902] | : . ' , ; ` | : ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [12:33:02.902] | : . ' , ; ` | : .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [12:33:02.902] | : . ' , ; ` | : ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [12:33:02.902] | : . ' , ; ` | : ..- attr(*, "call")= language plan(strategiesR, .cleanup = FALSE, .init = FALSE) [12:33:02.902] | : . ' , ; ` | : $ current:function (..., envir = parent.frame()) [12:33:02.902] | : . ' , ; ` | : ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [12:33:02.902] | : . ' , ; ` | : ..- attr(*, "init")= chr "done" [12:33:02.902] | : . ' , ; ` | : ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [12:33:02.902] | : . ' , ; ` | : .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [12:33:02.902] | : . ' , ; ` | : ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [12:33:02.902] | : . ' , ; ` | : ..- attr(*, "call")= language plan(sequential) [12:33:02.902] | : . ' , ; ` | : ..- attr(*, "backend")=Classes 'SequentialFutureBackend', 'FutureBackend', 'environment' [12:33:02.902] | : . ' , ; ` | : .. ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [12:33:02.902] | : . ' , ; ` | : .. .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [12:33:02.910] | : . ' , ; ` | all.equal() for future ... done [12:33:02.910] | : . ' , ; ` all.equal() for FutureStrategyList ... done [12:33:02.910] | : . ' , ; ` plan(): Skip setting new future backend stack because it is the same as the current one: [12:33:02.910] | : . ' , ; ` List of future strategies: [12:33:02.910] | : . ' , ; ` 1. sequential: [12:33:02.910] | : . ' , ; ` - args: function (..., envir = parent.frame(), workers = "") [12:33:02.910] | : . ' , ; ` - tweaked: FALSE [12:33:02.910] | : . ' , ; ` - call: plan(sequential) [12:33:02.911] | : . ' , ; plan(): plan_set(<1 strategies>, skip = FALSE, cleanup = FALSE, init = FALSE) ... done [12:33:02.911] | : . ' , plan(<'name'>, .skip = FALSE, .cleanup = FALSE, .init = FALSE) ... done [12:33:02.911] | : . ' , assign_globals() ... [12:33:02.912] | : . ' , List of 2 [12:33:02.912] | : . ' , $ delay: num 1 [12:33:02.912] | : . ' , $ ii : int 1 [12:33:02.912] | : . ' , - attr(*, "where")=List of 2 [12:33:02.912] | : . ' , ..$ delay: [12:33:02.912] | : . ' , ..$ ii : [12:33:02.912] | : . ' , - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [12:33:02.912] | : . ' , - attr(*, "resolved")= logi FALSE [12:33:02.912] | : . ' , - attr(*, "total_size")= num NA [12:33:02.912] | : . ' , - attr(*, "already-done")= logi TRUE [12:33:02.915] | : . ' , - copied 'delay' to environment [12:33:02.915] | : . ' , - copied 'ii' to environment [12:33:02.916] | : . ' , assign_globals() ... done [12:33:03.952] | : . ' , plan(<'name'>, .skip = FALSE, .cleanup = FALSE, .init = FALSE) ... [12:33:03.952] | : . ' , ; plan(<'FutureStrategyList'>, .skip = FALSE, .cleanup = FALSE, .init = FALSE) ... [12:33:03.953] | : . ' , ; ` plan(): plan_set(<1 strategies>, skip = FALSE, cleanup = FALSE, init = FALSE) ... [12:33:03.953] | : . ' , ; ` | all.equal() for FutureStrategyList ... [12:33:03.990] | : . ' , ; ` | : New stack: [12:33:03.991] | : . ' , ; ` | : List of 1 [12:33:03.991] | : . ' , ; ` | : $ :function (..., envir = parent.frame()) [12:33:03.991] | : . ' , ; ` | : ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [12:33:03.991] | : . ' , ; ` | : ..- attr(*, "init")= chr "done" [12:33:03.991] | : . ' , ; ` | : ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [12:33:03.991] | : . ' , ; ` | : .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [12:33:03.991] | : . ' , ; ` | : ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [12:33:03.991] | : . ' , ; ` | : ..- attr(*, "call")= language plan(sequential) [12:33:03.991] | : . ' , ; ` | : ..- attr(*, "backend")=Classes 'SequentialFutureBackend', 'FutureBackend', 'environment' [12:33:03.991] | : . ' , ; ` | : .. ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [12:33:03.991] | : . ' , ; ` | : .. .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [12:33:03.991] | : . ' , ; ` | : - attr(*, "class")= chr [1:2] "FutureStrategyList" "list" [12:33:03.996] | : . ' , ; ` | : Old stack: [12:33:03.997] | : . ' , ; ` | : List of 1 [12:33:03.997] | : . ' , ; ` | : $ :function (..., envir = parent.frame()) [12:33:03.997] | : . ' , ; ` | : ..- attr(*, "class")= chr [1:4] "sequential" "uniprocess" "future" "function" [12:33:03.997] | : . ' , ; ` | : ..- attr(*, "init")= chr "done" [12:33:03.997] | : . ' , ; ` | : ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [12:33:03.997] | : . ' , ; ` | : .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [12:33:03.997] | : . ' , ; ` | : ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [12:33:03.997] | : . ' , ; ` | : ..- attr(*, "call")= language plan(sequential) [12:33:03.997] | : . ' , ; ` | : ..- attr(*, "backend")=Classes 'SequentialFutureBackend', 'FutureBackend', 'environment' [12:33:03.997] | : . ' , ; ` | : .. ..- attr(*, "factory")=function (..., maxSizeOfObjects = +Inf) [12:33:03.997] | : . ' , ; ` | : .. .. ..- attr(*, "tweakable")= chr [1:5] "maxSizeOfObjects" "earlySignal" "gc" "interrupts" ... [12:33:03.997] | : . ' , ; ` | : - attr(*, "class")= chr [1:2] "FutureStrategyList" "list" [12:33:04.003] | : . ' , ; ` | : Identical [12:33:04.003] | : . ' , ; ` | all.equal() for FutureStrategyList ... done [12:33:04.003] | : . ' , ; ` | plan(): Skip setting new future backend stack because it is the same as the current one: [12:33:04.003] | : . ' , ; ` | List of future strategies: [12:33:04.003] | : . ' , ; ` | 1. sequential: [12:33:04.003] | : . ' , ; ` | - args: function (..., envir = parent.frame(), workers = "") [12:33:04.003] | : . ' , ; ` | - tweaked: FALSE [12:33:04.003] | : . ' , ; ` | - call: plan(sequential) [12:33:04.004] | : . ' , ; ` plan(): plan_set(<1 strategies>, skip = FALSE, cleanup = FALSE, init = FALSE) ... done [12:33:04.004] | : . ' , ; plan(<'FutureStrategyList'>, .skip = FALSE, .cleanup = FALSE, .init = FALSE) ... done [12:33:04.005] | : . ' , plan(<'name'>, .skip = FALSE, .cleanup = FALSE, .init = FALSE) ... done [12:33:04.011] | : . ' , SequentialFuture started (and completed) [12:33:04.012] | : . ' , signalConditions() ... [12:33:04.012] | : . ' , ; include = 'immediateCondition' [12:33:04.013] | : . ' , ; exclude = [12:33:04.013] | : . ' , ; resignal = FALSE [12:33:04.013] | : . ' , ; Number of conditions: 6 [12:33:04.014] | : . ' , ; int 6 [12:33:04.015] | : . ' , ; Condition #1 (class: 'simpleMessage', 'message', 'condition'): [12:33:04.015] | : . ' , ; Condition #2 (class: 'simpleMessage', 'message', 'condition'): [12:33:04.015] | : . ' , ; Condition #3 (class: 'simpleMessage', 'message', 'condition'): [12:33:04.016] | : . ' , ; Condition #4 (class: 'simpleMessage', 'message', 'condition'): [12:33:04.016] | : . ' , ; Condition #5 (class: 'simpleMessage', 'message', 'condition'): [12:33:04.016] | : . ' , ; Condition #6 (class: 'simpleMessage', 'message', 'condition'): [12:33:04.016] | : . ' , signalConditions() ... done [12:33:04.017] | : . ' launchFuture() for 'SequentialFutureBackend', 'FutureBackend', 'environment' ... done [12:33:04.059] | : . Launching futures ... done [12:33:04.060] | : . Future launched: 'SequentialFuture', 'UniprocessFuture', 'Future' [12:33:04.060] | : Using SequentialFutureBackend ... done [12:33:04.060] | run() for 'Future' ('futureSessionInfo-1') ... done [12:33:04.060] future(..., label = 'futureSessionInfo-1') ... done [12:33:04.061] value() for list ... [12:33:04.062] | recursive: 0 [12:33:04.062] | reduce: FALSE [12:33:04.062] | length: 1 [12:33:04.063] | Number of remaining objects: 1 [12:33:04.063] | checking value #1: [12:33:04.063] | 'obj' is SequentialFuture [12:33:04.063] | resolved() ... [12:33:04.064] | : resolved() for SequentialFuture ('futureSessionInfo-1') ... [12:33:04.064] | : . state: 'finished' [12:33:04.064] | : . run: TRUE [12:33:04.064] | : . result: 'FutureResult' [12:33:04.065] | : resolved() for SequentialFuture ('futureSessionInfo-1') ... done [12:33:04.065] | resolved() ... done [12:33:04.065] | SequentialFuture #1 [12:33:04.065] | signalConditionsASAP(SequentialFuture, pos=1) ... [12:33:04.065] | : nx: 1 [12:33:04.065] | : relay: TRUE [12:33:04.066] | : stdout: TRUE [12:33:04.066] | : signal: TRUE [12:33:04.066] | : resignal: FALSE [12:33:04.066] | : force: TRUE [12:33:04.066] | : relayed: [n=1] FALSE [12:33:04.066] | : queued futures: [n=1] FALSE [12:33:04.067] | : until=1 [12:33:04.067] | : relaying element #1 [12:33:04.068] | : value() for SequentialFuture ('futureSessionInfo-1') ... [12:33:04.068] | : . signalConditions() ... [12:33:04.068] | : . ' include = 'immediateCondition' [12:33:04.068] | : . ' exclude = [12:33:04.068] | : . ' resignal = FALSE [12:33:04.069] | : . ' Number of conditions: 6 [12:33:04.069] | : . ' int 6 [12:33:04.070] | : . ' Condition #1 (class: 'simpleMessage', 'message', 'condition'): [12:33:04.070] | : . ' Condition #2 (class: 'simpleMessage', 'message', 'condition'): [12:33:04.070] | : . ' Condition #3 (class: 'simpleMessage', 'message', 'condition'): [12:33:04.070] | : . ' Condition #4 (class: 'simpleMessage', 'message', 'condition'): [12:33:04.070] | : . ' Condition #5 (class: 'simpleMessage', 'message', 'condition'): [12:33:04.071] | : . ' Condition #6 (class: 'simpleMessage', 'message', 'condition'): [12:33:04.071] | : . signalConditions() ... done [12:33:04.071] | : . relay stdout ... [12:33:04.071] | : . relay stdout ... done [12:33:04.071] | : . check for misuse ... [12:33:04.072] | : . check for misuse ... done [12:33:04.072] | : value() for SequentialFuture ('futureSessionInfo-1') ... done [12:33:04.072] | : signalConditions() ... [12:33:04.072] | : . include = 'immediateCondition' [12:33:04.072] | : . exclude = [12:33:04.072] | : . resignal = FALSE [12:33:04.073] | : . Number of conditions: 6 [12:33:04.073] | : . int 6 [12:33:04.074] | : . Condition #1 (class: 'simpleMessage', 'message', 'condition'): [12:33:04.075] | : . Condition #2 (class: 'simpleMessage', 'message', 'condition'): [12:33:04.075] | : . Condition #3 (class: 'simpleMessage', 'message', 'condition'): [12:33:04.075] | : . Condition #4 (class: 'simpleMessage', 'message', 'condition'): [12:33:04.076] | : . Condition #5 (class: 'simpleMessage', 'message', 'condition'): [12:33:04.076] | : . Condition #6 (class: 'simpleMessage', 'message', 'condition'): [12:33:04.076] | : signalConditions() ... done [12:33:04.077] | : signalConditions() ... [12:33:04.077] | : . include = 'condition' [12:33:04.077] | : . exclude = 'error', 'immediateCondition' [12:33:04.078] | : . resignal = TRUE [12:33:04.078] | : . Number of conditions: 6 [12:33:04.078] | : . int 6 [12:33:04.079] | : . Condition #1 (class: 'simpleMessage', 'message', 'condition'): [12:33:04.080] | : . Condition #1: 'simpleMessage', 'message', 'condition' [12:33:02.891] | : . ' , attachPackages() ... [12:33:04.080] | : . Condition #2 (class: 'simpleMessage', 'message', 'condition'): [12:33:04.081] | : . Condition #2: 'simpleMessage', 'message', 'condition' [12:33:02.892] | : . ' , ; packages: [n=1] 'future' [12:33:04.081] | : . Condition #3 (class: 'simpleMessage', 'message', 'condition'): [12:33:04.081] | : . Condition #3: 'simpleMessage', 'message', 'condition' [12:33:02.892] | : . ' , attachPackages() ... done [12:33:04.082] | : . Condition #4 (class: 'simpleMessage', 'message', 'condition'): [12:33:04.082] | : . Condition #4: 'simpleMessage', 'message', 'condition' [12:33:02.892] | : . ' , attachPackages() ... [12:33:04.083] | : . Condition #5 (class: 'simpleMessage', 'message', 'condition'): [12:33:04.083] | : . Condition #5: 'simpleMessage', 'message', 'condition' [12:33:02.892] | : . ' , ; packages: [n=0] [12:33:04.083] | : . Condition #6 (class: 'simpleMessage', 'message', 'condition'): [12:33:04.084] | : . Condition #6: 'simpleMessage', 'message', 'condition' [12:33:02.892] | : . ' , attachPackages() ... done [12:33:04.084] | : signalConditions() ... done [12:33:04.085] | : relayed: [n=1] TRUE [12:33:04.085] | : queued futures: [n=1] TRUE [12:33:04.085] | signalConditionsASAP(SequentialFuture, pos=1) ... done [12:33:04.086] | value(, ...) ... [12:33:04.086] | value(, ...) ... done [12:33:04.086] | value() for SequentialFuture ('futureSessionInfo-1') ... [12:33:04.087] | : signalConditions() ... [12:33:04.087] | : . include = 'immediateCondition' [12:33:04.087] | : . exclude = [12:33:04.088] | : . resignal = FALSE [12:33:04.088] | : . Number of conditions: 6 [12:33:04.088] | : . int 6 [12:33:04.089] | : . Condition #1 (class: 'simpleMessage', 'message', 'condition'): [12:33:04.090] | : . already signaled, skipping [12:33:04.090] | : . Condition #2 (class: 'simpleMessage', 'message', 'condition'): [12:33:04.090] | : . already signaled, skipping [12:33:04.091] | : . Condition #3 (class: 'simpleMessage', 'message', 'condition'): [12:33:04.091] | : . already signaled, skipping [12:33:04.091] | : . Condition #4 (class: 'simpleMessage', 'message', 'condition'): [12:33:04.092] | : . already signaled, skipping [12:33:04.092] | : . Condition #5 (class: 'simpleMessage', 'message', 'condition'): [12:33:04.093] | : . already signaled, skipping [12:33:04.093] | : . Condition #6 (class: 'simpleMessage', 'message', 'condition'): [12:33:04.093] | : . already signaled, skipping [12:33:04.094] | : signalConditions() ... done [12:33:04.094] | : check for misuse ... [12:33:04.094] | : check for misuse ... done [12:33:04.095] | value() for SequentialFuture ('futureSessionInfo-1') ... done [12:33:04.095] | value: [12:33:04.095] | signalConditionsASAP(SequentialFuture, pos=1) ... [12:33:04.096] | : nx: 1 [12:33:04.096] | : relay: TRUE [12:33:04.096] | : stdout: TRUE [12:33:04.097] | : signal: TRUE [12:33:04.097] | : resignal: FALSE [12:33:04.097] | : force: TRUE [12:33:04.098] | : relayed: [n=1] TRUE [12:33:04.098] | : queued futures: [n=1] TRUE [12:33:04.098] | : until=1 [12:33:04.099] | : relayed: [n=1] TRUE [12:33:04.099] | : queued futures: [n=1] TRUE [12:33:04.099] | signalConditionsASAP(SequentialFuture, pos=1) ... done [12:33:04.100] | resolve() for SequentialFuture ... [12:33:04.100] | resolve() for SequentialFuture ... done [12:33:04.101] | length: 0 (resolved future 1) [12:33:04.101] value() for list ... done [12:33:04.101] Relaying remaining futures ... [12:33:04.102] | signalConditionsASAP(NULL, pos=0) ... [12:33:04.102] | : nx: 1 [12:33:04.102] | : relay: TRUE [12:33:04.103] | : stdout: TRUE [12:33:04.103] | : signal: TRUE [12:33:04.103] | : resignal: FALSE [12:33:04.104] | : force: TRUE [12:33:04.104] | : relayed: [n=1] TRUE [12:33:04.104] | : queued futures: [n=1] TRUE - flush all [12:33:04.105] | : relayed: [n=1] TRUE [12:33:04.105] | : queued futures: [n=1] TRUE [12:33:04.106] | signalConditionsASAP(NULL, pos=0) ... done [12:33:04.106] Relaying remaining futures ... done Worker R session details: worker pid r sysname release version nodename machine login 1 1 90884 4.6.0 Windows Server x64 build 20348 host001 x86-64 user001 user effective_user udomain 1 user001 user001 CRANWIN3 [12:33:04.113] nbrOfWorkers(NULL) ... [12:33:04.114] | List of 4 [12:33:04.114] | $ : language eval(ei, envir) [12:33:04.114] | $ : language futureSessionInfo(test = TRUE) [12:33:04.114] | $ : language nbrOfWorkers() [12:33:04.114] | $ : language nbrOfWorkers.NULL() [12:33:04.118] | plan("backend", .skip = FALSE, .cleanup = NA, .init = TRUE) ... [12:33:04.119] | plan("backend", .skip = FALSE, .cleanup = NA, .init = TRUE) ... done [12:33:04.119] | Number of workers: 1 [12:33:04.119] nbrOfWorkers(NULL) ... done Number of unique worker PIDs: 1 (as expected) > message("*** futureSessionInfo() ... DONE") *** futureSessionInfo() ... DONE Sourcing 6 epilogue scripts ... 01/06 epilogue script 'D:/RCompile/CRANincoming/R-devel/lib/future/testme/_epilogue/001.undo-future.R' 02/06 epilogue script 'D:/RCompile/CRANincoming/R-devel/lib/future/testme/_epilogue/002.undo-state.R' Failed to undo environment variables: - Expected environment variables: [n=213] '!ExitCode', 'ALLUSERSPROFILE', 'APPDATA', 'BIBINPUTS', 'BINDIR', 'BSTINPUTS', 'COMMONPROGRAMFILES', 'COMPUTERNAME', 'COMSPEC', 'CURL_CA_BUNDLE', 'CYGWIN', 'CommonProgramFiles(x86)', 'CommonProgramW6432', 'DriverData', 'HOME', 'HOMEDRIVE', 'HOMEPATH', 'JAGS_ROOT', 'JAVA_HOME', 'LANGUAGE', 'LC_COLLATE', 'LC_MONETARY', 'LC_TIME', 'LOCALAPPDATA', 'LOGONSERVER', 'LS_HOME', 'LS_LICENSE_PATH', 'MAKE', 'MAKEFLAGS', 'MAKELEVEL', 'MFLAGS', 'MSMPI_BENCHMARKS', 'MSMPI_BIN', 'MSYS2_ENV_CONV_EXCL', 'NUMBER_OF_PROCESSORS', 'OCL', 'OMP_THREAD_LIMIT', 'OS', 'PATH', 'PATHEXT', 'PROCESSOR_ARCHITECTURE', 'PROCESSOR_IDENTIFIER', 'PROCESSOR_LEVEL', 'PROCESSOR_REVISION', 'PROGRAMFILES', 'PROMPT', 'PSModulePath', 'PUBLIC', 'PWD', 'ProgramData', 'ProgramFiles(x86)', 'ProgramW6432', 'RTOOLS44_HOME', 'RTOOLS45_HOME', 'R_ARCH', 'R_BROWSER', 'R_BZIPCMD', 'R_CMD', 'R_COMPILED_BY', 'R_CRAN_WEB', 'R_CUSTOM_TOOLS_PATH', 'R_CUSTOM_TOOLS_SOFT', 'R_DOC_DIR', 'R_ENVIRON_USER', 'R_GSCMD', 'R_GZIPCMD', 'R_HOME', 'R_INCLUDE_DIR', 'R_INSTALL_TAR', 'R_LIBS', 'R_LIBS_SITE', 'R_LIBS_USER', 'R_MAX_NUM_DLLS', 'R_OSTYPE', 'R_PAPERSIZE', 'R_PAPERSIZE_USER', 'R_PARALLELLY_MAKENODEPSOCK_AUTOKILL', 'R_PARALLELLY_MAKENODEPSOCK_CONNECTTIMEOUT', 'R_PARALLELLY_MAKENODEPSOCK_RSCRIPT_LABEL', 'R_PARALLELLY_MAKENODEPSOCK_SESSIONINFO_PKGS', 'R_PARALLELLY_MAKENODEPSOCK_TIMEOUT', 'R_PARALLELLY_RANDOM_PORTS', 'R_PARALLEL_PORT', 'R_RD4PDF', 'R_RTOOLS45_PATH', 'R_SCRIPT_LEGACY', 'R_SHARE_DIR', 'R_TESTME_NAME', 'R_TESTME_PACKAGE', 'R_TESTME_PATH', 'R_TESTS', 'R_UNZIPCMD', 'R_USER', 'R_VERSION', 'R_ZIPCMD', 'SED', 'SHLVL', 'SYSTEMDRIVE', 'SYSTEMROOT', 'TAR', 'TAR_OPTIONS', 'TEMP', 'TERM', 'TEXINPUTS', 'TMP', 'TMPDIR', 'USERDOMAIN', 'USERDOMAIN_ROAMINGPROFILE', 'USERNAME', 'USERPROFILE', 'WINDIR', '_', '_R_CHECK_AUTOCONF_', '_R_CHECK_BOGUS_RETURN_', '_R_CHECK_BROWSER_NONINTERACTIVE_', '_R_CHECK_BUILD_VIGNETTES_SEPARATELY_', '_R_CHECK_CODETOOLS_PROFILE_', '_R_CHECK_CODE_ASSIGN_TO_GLOBALENV_', '_R_CHECK_CODE_ATTACH_', '_R_CHECK_CODE_CLASS_IS_STRING_', '_R_CHECK_CODE_DATA_INTO_GLOBALENV_', '_R_CHECK_CODE_USAGE_VIA_NAMESPACES_', '_R_CHECK_CODE_USAGE_WITHOUT_LOADING_', '_R_CHECK_CODE_USAGE_WITH_ONLY_BASE_ATTACHED_', '_R_CHECK_CODOC_VARIABLES_IN_USAGES_', '_R_CHECK_COMPACT_DATA2_', '_R_CHECK_COMPILATION_FLAGS_', '_R_CHECK_CONNECTIONS_LEFT_OPEN_', '_R_CHECK_CRAN_INCOMING_', '_R_CHECK_CRAN_INCOMING_ASPELL_RECHECK_MAYBE_', '_R_CHECK_CRAN_INCOMING_ASPELL_RECHECK_START_', '_R_CHECK_CRAN_INCOMING_CHECK_FILE_URIS_', '_R_CHECK_CRAN_INCOMING_CHECK_URLS_IN_PARALLEL_', '_R_CHECK_CRAN_INCOMING_NOTE_GNU_MAKE_', '_R_CHECK_CRAN_INCOMING_REMOTE_', '_R_CHECK_CRAN_INCOMING_USE_ASPELL_', '_R_CHECK_DATALIST_', '_R_CHECK_DEPRECATED_DEFUNCT_', '_R_CHECK_DOC_SIZES2_', '_R_CHECK_DOT_FIRSTLIB_', '_R_CHECK_DOT_INTERNAL_', '_R_CHECK_EXAMPLE_TIMING_THRESHOLD_', '_R_CHECK_EXECUTABLES_', '_R_CHECK_EXECUTABLES_EXCLUSIONS_', '_R_CHECK_FF_CALLS_', '_R_CHECK_FF_DUP_', '_R_CHECK_FORCE_SUGGESTS_', '_R_CHECK_FUTURE_FILE_TIMESTAMPS_', '_R_CHECK_FUTURE_FILE_TIMESTAMPS_LEEWAY_', '_R_CHECK_HAVE_MYSQL_', '_R_CHECK_HAVE_ODBC_', '_R_CHECK_HAVE_PERL_', '_R_CHECK_HAVE_POSTGRES_', '_R_CHECK_INSTALL_DEPENDS_', '_R_CHECK_INTERNALS2_', '_R_CHECK_LENGTH_1_CONDITION_', '_R_CHECK_LICENSE_', '_R_CHECK_LIMIT_CORES_', '_R_CHECK_LOG_USE_INFO_', '_R_CHECK_MATRIX_DATA_', '_R_CHECK_MBCS_CONVERSION_FAILURE_', '_R_CHECK_NATIVE_ROUTINE_REGISTRATION_', '_R_CHECK_NEWS_IN_PLAIN_TEXT_', '_R_CHECK_NO_RECOMMENDED_', '_R_CHECK_NO_STOP_ON_TEST_ERROR_', '_R_CHECK_ORPHANED_', '_R_CHECK_OVERWRITE_REGISTERED_S3_METHODS_', '_R_CHECK_PACKAGES_USED_IGNORE_UNUSED_IMPORTS_', '_R_CHECK_PACKAGES_USED_IN_TESTS_USE_SUBDIRS_', '_R_CHECK_PACKAGE_DATASETS_SUPPRESS_NOTES_', '_R_CHECK_PACKAGE_NAME_', '_R_CHECK_PKG_SIZES_', '_R_CHECK_PKG_SIZES_THRESHOLD_', '_R_CHECK_PRAGMAS_', '_R_CHECK_RD_EXAMPLES_T_AND_F_', '_R_CHECK_RD_LINE_WIDTHS_', '_R_CHECK_RD_MATH_RENDERING_', '_R_CHECK_RD_NOTE_LOST_BRACES_', '_R_CHECK_RD_VALIDATE_RD2HTML_', '_R_CHECK_REPLACING_IMPORTS_', '_R_CHECK_R_DEPENDS_', '_R_CHECK_S3_METHODS_SHOW_POSSIBLE_ISSUES_', '_R_CHECK_SCREEN_DEVICE_', '_R_CHECK_SERIALIZATION_', '_R_CHECK_SHLIB_OPENMP_FLAGS_', '_R_CHECK_SRC_MINUS_W_IMPLICIT_', '_R_CHECK_SUBDIRS_NOCASE_', '_R_CHECK_SUGGESTS_ONLY_', '_R_CHECK_SYSTEM_CLOCK_', '_R_CHECK_TESTS_NLINES_', '_R_CHECK_TEST_TIMING_', '_R_CHECK_TIMINGS_', '_R_CHECK_TOPLEVEL_FILES_', '_R_CHECK_UNDOC_USE_ALL_NAMES_', '_R_CHECK_UNSAFE_CALLS_', '_R_CHECK_URLS_SHOW_301_STATUS_', '_R_CHECK_VC_DIRS_', '_R_CHECK_VIGNETTES_NLINES_', '_R_CHECK_VIGNETTES_SKIP_RUN_MAYBE_', '_R_CHECK_VIGNETTE_TIMING_', '_R_CHECK_VIGNETTE_TITLES_', '_R_CHECK_WINDOWS_DEVICE_', '_R_CHECK_XREFS_NOTE_MISSING_PACKAGE_ANCHORS_', '_R_CHECK_XREFS_USE_ALIASES_FROM_CRAN_', '_R_CLASS_MATRIX_ARRAY_', '_R_DEPRECATED_IS_R_', '_R_S3_METHOD_LOOKUP_BASEENV_AFTER_GLOBALENV_', '_R_SHLIB_BUILD_OBJECTS_SYMBOL_TABLES_', '_R_USE_STRICT_R_HEADERS_', '__R_CHECK_DOC_FILES_NOTE_IF_ALL_INTERNAL__', 'maj.version', 'nextArg--timingsnextArg--install', 'tempdirname' - Environment variables still there: [n=0] - Environment variables missing: [n=1] 'MAKEFLAGS' Differences environment variable by environment variable: 03/06 epilogue script 'D:/RCompile/CRANincoming/R-devel/lib/future/testme/_epilogue/090.gc.R' 04/06 epilogue script 'D:/RCompile/CRANincoming/R-devel/lib/future/testme/_epilogue/099.session_info.R' 05/06 epilogue script 'D:/RCompile/CRANincoming/R-devel/lib/future/testme/_epilogue/995.detritus-connections.R' 06/06 epilogue script 'D:/RCompile/CRANincoming/R-devel/lib/future/testme/_epilogue/999.detritus-files.R' Skipping, because path appears not to be an 'R CMD check' folder: 'D:/temp/2025_07_29_12_30_17_31216' Sourcing 6 epilogue scripts ... done Test time: user.self=0.4s, sys.self=0.01s, elapsed=1s, user.child=NAs, sys.child=NAs Test 'futureSessionInfo' ... success > > proc.time() user system elapsed 0.68 0.10 1.81