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 

X-Achse (Zeit) unregelmäßig formatieren.



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!

15.08.2011, 15:25
Beitrag #11

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: X-Achse (Zeit) unregelmäßig formatieren.
Hallo Hubert,

Zitat:was besser ist? Also While mit Schieberegister oder For. Besser = weniger Rechenbelastung bzw. schneller.
Die Schleifen selbst dürften gleich schnell sein. Schieberegister (bzw. FeedbackNodes in neueren LV-Versionen) sind ebenfalls sehr effizient.
Deutlich langsamer sind dagegen "Value"-PropertyNodes. Schnell mal zu Speicherproblemen oder auch RaceConditions führt dagegen der Einsatz von (unnötigen) lokalen Variablen (ebenso bei PropertyNodes!)...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
15.08.2011, 16:30 (Dieser Beitrag wurde zuletzt bearbeitet: 15.08.2011 16:39 von Lucki.)
Beitrag #12

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: X-Achse (Zeit) unregelmäßig formatieren.
(15.08.2011 15:20 )Hubert R. schrieb:  While mit Schieberegister oder For. Besser = weniger Rechenbelastung bzw. schneller.
Als Ergänzung zur Antwort von Gerd:
Riesenhafte Zeiten entstehen leicht bei der Erstellung großer Arrays, wenn Labview vorher nicht weiß, wie groß das Array letztendlich wird. Es muß dann mehrmals im Memory etwas neu arrangiert werden, und das dauert. Dazu drei (hoffentlich eindrucksvolle) Beispiele:
Beispiel 1: Über den Indexanschluß eine While-Schleife:
   
Labview hat keine Ahnung, daß dieses Array so groß werden wird (LV ist nicht so intelligend, sich die Arraygröße aus dem Code heraus zu berechen. Wir sehen sofort, das Array hat 1E7 Elemente - Labview weiß das nicht) Dauer: 25sec !
Die gleiche Zeit hätte man bei aufaddieren der Elemente über Schieberegister. Es ist also egal, ab Schieberegister oder Indexanschluß - wenn Labview nicht von Anfang an weiß, wie groß das Array wird, ist beides gleich schlecht.
Beispiel 2:
Selbes Beispiel, Ausführung über For-Schleife mit Bedingungsanschluß.
   
Es wird zwar bei jedem Duchlauf, genau wie bei der while-Schleife, berechnet ob die Abbruchbedingung erfüllt ist. Über den N-Anschluß ist LV jedoch über eine maximale Arraygröße von 2E7 Elementen vorinformiert und reserviert diese Größe im Memory. Die Folge ist eine drastische Veringerung der Ausführungszeit: 0.7 sec
Bei älteren LV-Versionen gab es den Bedingungsanschluß noch nicht. Um die while-Schleife in Beispiel 1 schnell zu machen, war eine umständliche Prozedur erforderlich. Es wurde ein großes Array vorinitialisiert, dann wurden die in der Schleife erzeugten Elemente mittels Ersetzen über Schiebregister in das Array eingefügt, und zum Schluß wurden die nicht benutzten Elemente entfernt. Dank der For-Schleife mit Bedingungsanschluß ist das aber Schnee von gestern
Besipiel 3
Selbes Beispiele als For-Schleife:
   
Das ist natürlich die absolut schnellste Methode. Ausführungdauer: 0.6 sec. Schneller als Beispiel 2 ist es deshalb, weil hier nicht bei jedem Durchlauf berechnet werden muß, ob die Abbruchbedingung erfüllt ist oder nicht.

Und trotzdem: Eine Methode ist noch schneller als die For-Schleife. Die meisten Funktionen sind nämlich polymorph und können auch mit Arrays umgehen. Diese Möglichkeiten sollte man immer nutzen. For-Schleifen sind da nur die zweite Wahl.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.08.2011, 08:28
Beitrag #13

Hubert R. Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 193
Registriert seit: Jul 2011

2019 64bit
2011
DE


Deutschland
RE: X-Achse (Zeit) unregelmäßig formatieren.
Hallo Lucki,
danke für die ausführliche Erläuterung. Deine 3 Bespiele habe ich verstanden, auch in Bezug auf mein eingestelltes VI in diesem Thread. Man lernt nie aus.

Gruß Hubert
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
  X-Achse an Nullpunkt von Y-Achse verankert IchSelbst 9 10.447 09.11.2008 16:55
Letzter Beitrag: IchSelbst
  XY-Graph, ein Signal X-Achse, mehrere Signale Y-Achse Mr.T 3 7.129 13.12.2005 22:56
Letzter Beitrag: dreton

Gehe zu: