0
require(lobstr)

x <- lapply(1:50, function(i) c(rep("abc", i)))
  1. obj_size(x) ## 13,352 B

  2. sum(sapply(x, obj_size)) + 50*8 + 56 ## 16104 B 8 is pointer size, 56 is initial space

为什么结果不同?

谢谢

4

1 回答 1

0

我确实尝试使用基本 R object.size 函数复制您的问题,

x <- lapply(1:50, function(i) c(rep("abc", i)))
object.size(x)
sum(sapply(x, object.size)) + 50*8 + 56 

我发现下面的结果。似乎没有太大区别,这里和那里可能有 8 个字节,但几乎相同。我不认为在这么小的差异下会有任何显着差异。

在此处输入图像描述

于 2021-06-04T18:21:43.587 回答