Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Wieviele Einträge in eine Array


majolo - Sa 31.05.03 17:31
Titel: Wieviele Einträge in eine Array
Hallo,

wieviele Einträge kann man eigentlich einem 2 dimensionalen Array zumuten? Schwanke nämlich Daten temporär im Array oder in eine File zu schreiben.Die Einträge sind nicht sonderlich lang.
Über Erfahrungswerte würde ich mich freuen.

Gruss
majolo


tommie-lie - Sa 31.05.03 18:10

Theoretisch 1,8446744^19, bei einem zweidimensionalen Array, nämlich (2^32-1)^2. Aber vorher wird vermutlich der Speicher voll sein, weil das selbst bei einem Array, das nur aus Bytes besteht, mehrere Gigabyte wären. Aber wenn du Strings benutzt, müsstest du auf da Speichermanagement aufpassen, weil das Verlängern eines Strings zwangsweise ein neualloziieren des Arrays zur Folge hat und der alte Speicher nicht weider frei gegeben wird. Wenn die Länge der einzelnen Elemente aber gleich bleibt, kannst du den ganzen speicher plus Swap vollschreiben.
Es ist auf jeden Fall schneller, als mit einer Datei zu arbeiten, sofern der Swap nicht benutzt wird, selbstverständlich.


MSCH - Sa 31.05.03 19:52

ich scließ mich dem Vorredner an. Sofern die Array-Größe nicht den verfügbaren (!) realen Speicher übersteigt sind Speicherarray besser als Files. In anderem Falle wird dann eh ausgelagert, da kannste dann gleich zu files greifen.
grez
msch


majolo - So 01.06.03 11:32

Okay vielen Dank. Die höchstmöglich Summe will ich natürlich nicht ausnutzen.Das wäre auch zuviel. Das Programm und der Rechner sollen natürlich flüssig laufen.Gut vielen Dank. Dann werde ich mal meinen Taschenrechner bemühen und eine einigermaßen akzeptable Summe kalkulieren.8)

Gruss
majolo