INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

maximale Arraygrößen? speicher allokieren?



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

06.11.2007, 09:25 (Dieser Beitrag wurde zuletzt bearbeitet: 06.11.2007 09:27 von t4b-1re-2.)
Beitrag #1

t4b-1re-2 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 155
Registriert seit: May 2007

8.5
2007
de

99*
Deutschland
maximale Arraygrößen? speicher allokieren?
Hallo,

ich bekomm Pobleme, sobald ich in ein StringArray größere Datenmengen einfügen will.... so bei 10*1000 Zellen geht LabVIEW in die Knie verbraucht einen Haufen Speicher und CPU und hört nich mehr auf zu rödeln. Die Daten werden in zwei verschachtelten Schleifen, Zeile für Zeile, Spalte für Spalte in das Array geschrieben. Zu beginn bekommt das Array die Größe mitgeteilt.
Muss ich da irgendwas beachten? Speicher allokieren? Einen Buffer initialisieren? Kann ich (bzw. sollte ich) die Daten eventl. Zeilenweise am Stück in das Array schieben???

Fragen über Fragen
Grüße
t4b-1re-2
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
06.11.2007, 09:43 (Dieser Beitrag wurde zuletzt bearbeitet: 06.11.2007 09:43 von Achim.)
Beitrag #2

Achim Offline
*****
*****


Beiträge: 4.222
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
maximale Arraygrößen? speicher allokieren?
Hi,

wenn du weißt, wie viele Daten du in etwa kriegst, erzeugst du dir mit "Initialize Array" ein entsprechend großes Array. Dessen Daten tauschst du dann mit ReplaceArraySubset aus...das sollte viel schneller gehen, weil du eben nicht bei jedem Schreibvorgang das Ursprungsarray redimensionieren musst, sondern nur Elemente ersetzt!

Ganz allgemein gilt: Array-Operationen sind nicht grade ne Stärke von LV...das dauert immer recht lange, weil immer eine Kopie der Daten im Speicher angelegt wird. Das kann man aber so wie oben beschrieben vermeiden!

Gruß
Achim

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.11.2007, 10:08
Beitrag #3

t4b-1re-2 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 155
Registriert seit: May 2007

8.5
2007
de

99*
Deutschland
maximale Arraygrößen? speicher allokieren?
Hallo Achim,


wenn ich dich recht verstehe, ist, was du beschreibst, genau das was ich tue (was die blauen Kästchen genau tun sei egal, die sind dev. sauschnell):
   

Viele Grüße
t4b-1re-2
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.11.2007, 10:22
Beitrag #4

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
maximale Arraygrößen? speicher allokieren?
Hallo,

sieht auf den ersten Blick ganz gut aus, genau so hat es Achim gemeint (falls jetzt nicht noch ein Fehler in der Feedback-Node steckt, ich verwende lieber Shift-Register, deswegen diese Aussage ohne Garantie).

Weitere Ideen:
-Musst du alle Fehler-Cluster als Array aufsammeln?? Vielleicht braucht das am Ende etwas Zeit (nur ne Vermutung).
-Dann deine Idee mit Zeilen ersetzen: Probier's ruhig mal aus, ich meine, das habe ich auch mal getestet, war flotter. Allerdings bei mir bei 2D-Double-Array.
-Brauchst du wirklich Strings als Ergebnis? Ich weiss leider nicht, wie LabVIEW die Speicherbelegung bei einem 2D-String-Array macht. Denn die String-Länge ist ja variabel und liegt nicht fest. Allozieren tust du dein String-Array ja mit einem leeren String. Ich hab keine Ahnung, ob da dann schon eine Mindest-Länge reserviert wird oder nicht. Vielleicht hilft es auch, wenn du dein 2D-String-Array nicht mit einem leeren String allozierst, sondern mit einem String, der aus der maximalen Anzahl an Leerzeichen deiner Daten besteht?

MfG, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Numerisches Bedienelement maximale Signalsteigung begrenzen antwort 2 3.506 06.03.2017 13:46
Letzter Beitrag: antwort
  Globale Variable, maximale Größe, Daten anhängen. dieseldunst 10 9.217 18.04.2014 09:00
Letzter Beitrag: Lucki
  Maximale Messwerte online anzeigen Phill 2 3.432 08.03.2013 15:16
Letzter Beitrag: GerdW
  Maximale Größe eines Arrays hans_p 29 27.601 22.01.2013 15:02
Letzter Beitrag: Lucki
  maximale Laufzeit einer VI jak888 10 7.555 23.08.2010 08:45
Letzter Beitrag: jak888
  Speicher für bekannte Arraygröße allokieren Mr.T 3 4.190 24.01.2007 15:09
Letzter Beitrag: Mr.T

Gehe zu: