Zarezerwowana pamięć R jest dwa razy większa niż przydzielona tablica
Zauważyłem następujące zachowanie. Powiedz, że tworzę następującą wielowymiarową tablicę:
spam = array(runif(96*48*60*360), dim = c(96,48,60,360))
Jest całkiem przewidywalne, ile pamięci R powinno do tego wykorzystać, a mianowicie (96 * 48 * 60 * 360) * 4 bajty = 759,4 MB. Jest to dobrze potwierdzone za pomocąlsos
funkcja (patrzten post):
> lsos()
Type Size PrettySize Rows Columns
spam array 796262520 759.4 Mb 96 48
lsos function 776 776 bytes NA NA
R jako proces wykorzystuje jednak znacznie więcej pamięci, mniej więcej dwa razy więcej:
$ top | grep rsession
82:17628 hiemstra 20 0 1614m **1.5g** 8996 S 0.3 40.4 0:04.85 rsession
Dlaczego R to robi? Zakładam, że dodatkowa pamięć zarezerwowana jest przydzielona, aby była ona szybciej dostępna dla R? Jakieś pomysły?