在R中测量内存使用情况



考虑两个向量:

a <- 1
b <- 1:100

为什么这行代码的结果是:

sum(sapply(ls(),function(x){utils::object.size(get(x))}))
#488 (bytes)

与这行代码不同:

utils::object.size(ls())
#152 bytes

第一个版本给出了正确的结果:

object.size(a)  ## 32 Bytes
object.size(b)  ## 424 Bytes
sum(sapply(ls(),function(x){utils::object.size(get(x))}))  ## 456 Bytes

而第二个,实际上是在做:

object.size(c("a", "b"))  ## 96 Bytes

最新更新