Зарезервированная память R в два раза больше выделенного массива
Я заметил следующее поведение. Скажем, я создаю следующий многомерный массив:
spam = array(runif(96*48*60*360), dim = c(96,48,60,360))
Вполне предсказуемо, сколько памяти R должно использовать для этого, а именно (96 * 48 * 60 * 360) * 4 байта = 759,4 Мбайт. Это хорошо подтверждается с помощьюlsos
функция (см.эта почта):
> lsos()
Type Size PrettySize Rows Columns
spam array 796262520 759.4 Mb 96 48
lsos function 776 776 bytes NA NA
Однако R как процесс использует гораздо больше памяти, примерно в два раза больше:
$ top | grep rsession
82:17628 hiemstra 20 0 1614m **1.5g** 8996 S 0.3 40.4 0:04.85 rsession
Почему R делает это? Я предполагаю, что дополнительная зарезервированная память выделена, чтобы сделать ее более доступной для R? Любая мысль?