RStudio показывает тот же объем памяти, что и object.size
. МБ содержит 1024 КБ, а КБ содержит 1024 Б:
object.size(x)
# 800000216 bytes
object.size(x) / 1024 / 1024
# 762.9 bytes
Я попытался посмотреть в pryr::object_size
коде, но он реализован на C. Я посмотрел в исходном коде , и похоже, что вычисление байтов выглядит так:
double bytes = 0;
// Big vectors always allocated in 8 byte chunks
if (n_bytes > 16) bytes = n_bytes * 8;
// For small vectors, round to sizes allocated in small vector pool
else if (n_bytes > 8) bytes = 128;
else if (n_bytes > 6) bytes = 64;
else if (n_bytes > 4) bytes = 48;
else if (n_bytes > 2) bytes = 32;
else if (n_bytes > 1) bytes = 16;
else if (n_bytes > 0) bytes = 8;
return bytes;
}
Так что, вероятно, именно поэтому ваш расчет рассчитан на 800 МБ, что соответствует pryr.