考虑两个向量:
a <- 1
b <- 1:100
为什么这行代码的结果是:
sum(sapply(ls(),function(x){utils::object.size(get(x))}))
#488 (bytes)
与这行代码不同:
utils::object.size(ls())
#152 bytes
答案 0 :(得分:4)
第一个版本为您提供了正确的结果:
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