Der reservierte Speicher von R ist doppelt so groß wie ein zugewiesenes Array
Ich habe folgendes Verhalten festgestellt. Angenommen, ich erstelle das folgende mehrdimensionale Array:
spam = array(runif(96*48*60*360), dim = c(96,48,60,360))
Es ist ziemlich vorhersehbar, wie viel Speicher R dafür verwenden sollte, nämlich (96 · 48 · 60 · 360) · 4 Bytes = 759,4 Mbyte. Dies wird mit dem gut bestätigtlsos
Funktion (siehedieser Beitrag):
> lsos()
Type Size PrettySize Rows Columns
spam array 796262520 759.4 Mb 96 48
lsos function 776 776 bytes NA NA
R als Prozess verbraucht jedoch viel mehr Speicher, ungefähr die doppelte Größe:
$ top | grep rsession
82:17628 hiemstra 20 0 1614m **1.5g** 8996 S 0.3 40.4 0:04.85 rsession
Warum macht R das? Ich gehe davon aus, dass der extra reservierte Speicher reserviert ist, um den Zugriff auf R? Irgendwelche Gedanken?