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?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage