Пространство, выделенное для объекта obj_size против object.size () в R - PullRequest
0 голосов
/ 04 февраля 2020

Я обнаружил, что, как и в большинстве случаев, lobstr::obj_size(x) даст вам более точные результаты, поскольку он не будет считать дубликат счета того же эталона. object.size() всегда больше, чем obj_size () в большинстве случаев.

> x <- runif(1e6)
> y <- list(x, x, x)
> obj_size(y)
8,000,128 B
> object.size(y)
[1] 24000224 bytes

Какой из них подходит для объекта среды и почему существует различие?

e1 <- new.env(hash = FALSE, parent = emptyenv(), size = 3L)
e2 <- new.env(hash = TRUE, parent = emptyenv(), size = 3L)
e1$x <- e2$x <- 1:10
> object.size(e1)
[1] 56 bytes
> obj_size(e1)
848 B
...