Recursively, runs reproducible::objSize() on the simList environment, so it estimates the correct size of functions stored there (e.g., with their enclosing environments) plus, it adds all other "normal" elements of the simList, e.g., objSize(completed(sim)). The output is structured into 2 elements: the sim environment and all its objects, and the other slots in the simList (e.g., events, completed, modules, etc.). The returned object also has an attribute, "total", which shows the total size.

# S3 method for simList
objSize(x, quick = TRUE, ...)

Arguments

x

An object

quick

Logical. If FALSE, then an attribute, "objSize" will be added to the returned value, with each of the elements' object size returned also.

...

Additional arguments (currently unused), enables backwards compatible use.

Value

an estimate of the size of the object, in bytes.

Examples

a <- simInit(objects = list(d = 1:10, b = 2:20))
#> Setting:
#>   options(
#>     reproducible.cachePath = '/tmp/RtmpzNRBK9/myProject/cache'
#>     spades.inputPath = '/tmp/RtmpzNRBK9/myProject/inputs'
#>     spades.outputPath = '/tmp/RtmpzNRBK9/myProject/outputs'
#>     spades.modulePath = '/tmp/RtmpzNRBK9/myProject/modules'
#>     spades.scratchPath = '/tmp/RtmpzNRBK9/SpaDES/scratch'
#>   )
#> Nov23 21:41:08 simInit Using setDTthreads(1). To change: 'options(spades.DTthreads = X)'.
#> Elpsed time for simInit: 0.03004575 secs
objSize(a)
#> 540.06 kB
utils::object.size(a)
#> 17184 bytes