This is a modified copy from the utils package in R as fo 2008-12-15. Exactly which parts of the memory allocation should be attributed to
which object is not clear-cut. This function merely provides a rough
indication: it should be reasonably accurate for atomic vectors, but
does not detect if elements of a list are shared, for example.
(Sharing amongst elements of a character vector is taken into account,
but not that between character vectors in a single object.)
The calculation is of the size of the object, and excludes the space
needed to store its name in the symbol table.
Associated space (e.g. the environment of a function and what the
pointer in a EXTPTRSXP
points to) is not included in the
calculation.
Object sizes are larger on 64-bit platforms than 32-bit ones, but will
very likely be the same on different platforms with the same word
length and pointer size. Class of returned object is c("byte", "numeric")
with
appropriate print
and c
methods.
By default object.size
outputs size in bytes, but human
readable format similar to ls
, df
or du
shell
commands can be invoked with options(humanReadable=TRUE)
.