LabVIEWForum.de - Maximale Größe eines Arrays

LabVIEWForum.de

Normale Version: Maximale Größe eines Arrays
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hallo,

gibt es ein Limit für die Anzahl der Spalten eines Arrays?

Danke

Gruß HP
Nö.

Oder:
Soviel wie dein Speicher hergibt.

Das gleiche gilt übrigens auch für die Anzahl der Zeilen Lol
Darf es die Größe des Arbeitsspeichers übersteigen?
Wenn du nichts dagegen hast, dass LV 'ne Fehlermeldung ausgibt und alles abbricht oder abstürtzt spricht nix dagegen.
Hallo Hans,

hast du einen Programmierhintergrund zu der Frage?
Oder eine Idee, wie sowas in anderen Programmierumgebungen gehandhabt wird/werden sollte?

Wenn du ein Array brauchst, das größer als der zur Verfügung stehende Arbeitsspeicher ist, dann kannst du natürlich ein Datei auf der Festplatte benutzen - Dateizugriffe sind halt nur langsamer als Speicherzugriffe... Windows vorausgesetzt brauchst du dann natürlich ein Dateisystem, was entsprechend große Dateien unterstützt - mit NTFS bist du da auf der sicheren Seite. Außerdem benötigst du entsprechende LabVIEW-Funktionen, die mit großen Dateien umgehen können - was ab LV8 gegeben ist.
Theoretisches Limit 2^32 - 1 Elemente pro Dimension.
Hi Abrissbirne,

<klugscheiss an>
LabVIEW arbeitet mit I32 für die Indizierung, also ist das Maximum 2^31-1. Das Element selbst kann natürlich größer als 1Byte sein...
<klugscheiss aus>
Das Array kann nur so groß sein wie der größte zusammenhängende Speicherbereich des Arbeitsspeichers! Und das ist in der Regel weit weniger als der installierte Speicher.

Dem kann man begegnen indem man ein Array von Clustern von Daten baut. Das kostet natürlich Overhead und Performance. Also ein Array von einem Cluster von einem DBL macht keinen Sinn. Aber vielleicht ein Array von Clustern mit ein 2D-Array von DBL, wenn das 2D-Array z. B. Bilddaten enthält.
' schrieb:Hi Abrissbirne,

<klugscheiss an>
LabVIEW arbeitet mit I32 für die Indizierung, also ist das Maximum 2^31-1. Das Element selbst kann natürlich größer als 1Byte sein...
<klugscheiss aus>
Die Betonung liegt hier auf theoretisches Limit 2^32 - 1 Elemente pro Dimension.

' schrieb:Das Array kann nur so groß sein wie der größte zusammenhängende Speicherbereich des Arbeitsspeichers! Und das ist in der Regel weit weniger als der installierte Speicher.

Dem kann man begegnen indem man ein Array von Clustern von Daten baut. Das kostet natürlich Overhead und Performance. Also ein Array von einem Cluster von einem DBL macht keinen Sinn. Aber vielleicht ein Array von Clustern mit ein 2D-Array von DBL, wenn das 2D-Array z. B. Bilddaten enthält.
Besser ist eine Queue welche die 3te Dimension bildet. Also eine Queue mit 2D-Arrays.
Inzwischen bin ich an die Grenze gestoßen...

Ich habe folgendes Problem:
Die Verantwortlichen haben mal wieder nicht auf mich gehört und Fremdhardware gekauft.
Die Zusammenarbeit mit LabVIEW funktioniert zwar, aber nicht stabil!
Ich benutze also die Software, die mit der hardware mitgeliefert wurde und schreibe die Messwerte in eine Textdatei.
Da die Software nicht sonderlich komfortabel ist, kann ich die geringste Abtastung nur so einstellen, dass am Schluss
Textdateien bis zu ca 1GB entstehen.

Jetzt würde ich gerne (Rechenzeit spielt keine Rolle) immer aus einer Anzahl von Messwerte Mittelwerte bilden und so den datenumfang schrumpfen.
Allerdings kommt beim Laden der Textdatei: "Nicht genügen Speicher zum Abschließen der Operation"

Hat jemand ne Idee ich vorgehen kann?

Danke und Gruß

HP
Seiten: 1 2 3
Referenz-URLs