Rev 62133 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
% File src/library/utils/man/object.size.Rd% Part of the R package, http://www.R-project.org% Copyright 1995-2013 R Core Team% Distributed under GPL 2 or later\name{object.size}\alias{object.size}\alias{print.object_size}\title{Report the Space Allocated for an Object}\description{Provides an estimate of the memory that is being used to store an \R object.}\usage{object.size(x)\method{print}{object_size}(x, quote = FALSE, units = "b", \dots)}\arguments{\item{x}{An \R object.}\item{quote}{logical, indicating whether or not the result should beprinted with surrounding quotes.}\item{units}{The units to be used in printing the size. Allowedvalues are \code{"b"}, \code{"Kb"}, \code{"Mb"}, \code{"Gb"},\code{"B"}, \code{"KB"}, \code{"MB"}, \code{"GB"}, and \code{"auto"}(see \sQuote{Details}).}\item{\dots}{Arguments to be passed to or from other methods.}}\details{Exactly which parts of the memory allocation should be attributed towhich object is not clear-cut. This function merely provides a roughindication: it should be reasonably accurate for atomic vectors, butdoes 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 spaceneeded to store its name in the symbol table.Associated space (e.g. the environment of a function and what thepointer in a \code{EXTPTRSXP} points to) is not included in thecalculation.Object sizes are larger on 64-bit builds than 32-bit ones, but willvery likely be the same on different platforms with the same wordlength and pointer size.\code{units = "auto"} in the \code{print} method chooses the largestunits in which the result is one or more (before rounding). Values inkilobytes, megabytes or gigabytes are rounded to the nearest \code{0.1}.}\value{An object of class \code{"object_size"} with a length-one double value,an estimate of the memory allocation attributable to the object in bytes.}\seealso{\code{\link{Memory-limits}} for the design limitations on object size.}\examples{object.size(letters)object.size(ls)print(object.size(library), units = "auto")## find the 10 largest objects in the base packagez <- sapply(ls("package:base"), function(x)object.size(get(x, envir = baseenv())))as.matrix(rev(sort(z))[1:10])}\keyword{utilities}