object.size {utils} | R Documentation |
Provides an estimate of the memory that is being used to store an R object.
object.size(x) ## S3 method for class 'object_size' print(x, quote = FALSE, units = "b", ...)
x |
An R object. |
quote |
logical, indicating whether or not the result should be printed with surrounding quotes. |
units |
The units to be used in printing the size. Other allowed
values are |
... |
Arguments to be passed to or from other methods. |
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 builds than 32-bit ones, but will very likely be the same on different platforms with the same word length and pointer size.
units = "auto"
in the print
method chooses the largest
units in which the result is one or more (before rounding). Values in
kilobytes, megabytes or gigabytes are rounded to the nearest 0.1
.
An object of class "object_size"
with a length-one double value,
an estimate of the memory allocation attributable to the object in bytes.
Memory-limits
for the design limitations on object size.
object.size(letters) object.size(ls) print(object.size(library), units = "auto") ## find the 10 largest objects in the base package z <- sapply(ls("package:base"), function(x) object.size(get(x, envir = baseenv()))) as.matrix(rev(sort(z))[1:10])