Thread Probleme Größe eines Array of Arrays (10 answers)
Opened by gmafx at 2012-05-25 11:16

gmafx
 2012-05-25 11:16
#158590 #158590
User since
2009-11-19
47 Artikel
BenutzerIn
[default_avatar]
Hallo,

ich benutze Perl, um eine Datenmatrix zu erstellen. Wenn ich die Matrix mit Nullen initialisiere, bemerke ich einen meiner Meinung nach viel zu großen Speicherverbrauch:

Code: (dl )
1
2
3
4
5
6
7
@line = (0) x $y;
for ($c=0;$c<=$x;$c++)

{
print "$c\n";
push (@AoA, [@line]);
}


Für $x und $y = 14000 sind 9GB RAM belegt. Leider benötige ich im Extremfall eine Matrix mit 30000x30000 Feldern, dabei werden mehr als die zur Verfügung stehenden 16GB RAM benötigt. Die mit Nullen initialiserten Felder werden dann später mit Eins (unterschiedlich oft) addiert, resultierend also in Integern!

Irgendwie kommt mir der Speicherbedarf zu groß vor - oder anders herum: wieviel Speicher reserviert den Perl für ein Arrayelement, bzw. gibt es Möglichkeiten, die Reservierung zu Steuern (etwa wie in C: da wären es nach meiner Rechnung 4bytes *30000^2 =3.6GB, damit könnte ich sehr gut leben!)?

Oder muss ich dann die Array of Array Berechnung nach C auslagern?
gma

View full thread Probleme Größe eines Array of Arrays