LabVIEWForum.de
Extreme Performance Probleme - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Extreme Performance Probleme (/Thread-Extreme-Performance-Probleme)



Extreme Performance Probleme - Christian_B - 31.10.2006 15:45

Hi Leute,

ich stoße immer wieder sehr schnell an dir Rechenkapaitäten mit meinem VI.
Ich habe 3 parallele Sequenzen mit denen ich so schon extreme Problem habe.
Durch das Einfügen von Waits bei zeitunkritischen Dingen konnte ich das Problem in den Griff bekommen.

Jetzt schreibe ich am Ende einer Seqeunz 4 integer in ein SpreadSheet und es lahmt wieder total rum.

Wäre es eine Idee mehrere Integer zu puffern und dann immer nur z.B. 400 in die Datei zu schreiben?

Kann mir jemand dafür eine Lösungshilfe geben? Stehe mit den ganzen Arrays auf dem Schlauch!

Danke! Blink


Extreme Performance Probleme - Christian_B - 31.10.2006 16:11

wollte nun statt immer 4 integer abzuspeichern immer hunder speichern,

aber das Aufbauen des größeren Arrays klappt nicht Sad

kann mir jemand einen Tipp geben?


Extreme Performance Probleme - IchSelbst - 31.10.2006 16:16

' schrieb:Wäre es eine Idee mehrere Integer zu puffern und dann immer nur z.B. 400 in die Datei zu schreiben?
Die Idee ist sehr gut. Statt 400 kannst du natürlich auf 40000 erhöhen und die Daten z.B. in einem Array zwischenspeichern.

Für viel wichtiger halte ich aber folgendes: Du solltest mal das Prinzip des Datenflusses richtig anwenden. Ich sehe in deinem Bild zwei lokale Variablen Chanel1_LB und das dazugehörige Bedienelement. Zumindest die eine zulesende Variable ist überflüssig - und damit auch der Overhead zu deren Verwaltung. Benötigst du das Bedienelement überhaupt? Wenn du "Zeitprobleme" hast, würde die Anzeige der Daten am Bildschirm sowieso nichts bringen - so schnell kann der Bediener sowieso nicht kucken.


Extreme Performance Probleme - IchSelbst - 31.10.2006 16:29

' schrieb:aber das Aufbauen des größeren Arrays klappt nicht Sad
Ich würde für das Array ein Schieberegister machen. Initialisiert wird das Schieberregister mit der maximalen Länge des Arrays. Mittels "Daten ersetzen" werden die Daten ins Array geschrieben. Das Array würde ich speichern, wenn die Messung beendet ist.
Dieses Verfahren hat aber Grenzen.

Zitat:kann mir jemand einen Tipp geben?
Noch ein Tipp: Das mit der Variablen Var1 funktioniert nicht. Das Inkrementieren von Var1 und das Benutzen von Var1 z.B. für die Modulo-Division ist nicht datenflußgemäß - und wird daher garantiert fehlschlagen. Das fatale daran ist aber: Der Zeitpunkt des Fehlschlagens ist nicht festgelegt - entweder während der Entwicklung, oder erst beim Kunden.
Noch ein Tipp: In jede While-Schleife, in der Elemente am Frontpanel bearbeitet werden sollen, gehört eine Wartezeit hinein - und sei sie nur 1ms.