!!

Willkommen Besucher...

...um das das LabVIEWForum.de als Benutzer in vollem Umfang nutzen zu können, ist eine kostenlose Registrierung nötig...
Registrierte Benutzer können Beiträge schreiben, Dateien uploaden, Beiträge lesen :) uvm.


Antwort schreiben 
warum ist die Globale Variable schneller?
03.09.2010, 14:38
Beitrag #1

toaran_ Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 205
Registriert seit: Feb 2007

LV-Version: 8.6/2009/2010/2011
LV-Erfahrung seit: 2006
LV-Sprachversion: EN

PLZ: 90763
Land: Deutschland
warum ist die Globale Variable schneller?
Hallo zusammen

ich habe folgendes Problem ....

ich habe in einem Vi eine While Schleife die alle 100ms einmal "schleift" ...

da werden Com Ports ausgelesen udn die Dasten Verarbeitet etc ... nun wollte ich diese Daten in eine Art Register speichern und das Register als Notifier jeweil einmal lesen und am ende wenn die Daten drinn stehen wieder schreiben.... andere Vis können sich dann aus dem "Register"-Notifier die Daten rausholne wenn benötigt ...
soweit so gut funktioniert auch ...

Aber...

wenn ich das Register so gross mache wie ich es brauche (1024 Werte) wird das ganze sehr "langsam" ...

ich habe mal ein Test VI erstellt mit dem Ablauf im richtigen VI ohne das ganze drum rum ...

ich hab dann auch mal eine Globale Variable als Test genommen und musste feststellen das die um längen schneller ist ...

ich bin leicht verwirrt ... entweder mach ich was grundlegend falsch .... oder es hat sich was bei der abarbeitung von globalen Variablen bei LV 2010 geändert ... (ich hab jetzt grad nur LV2010 zum testen)


T

Lv10
hier mal das Vi und Snippet ...
   


Sonstige .vi  speedtest.vi (Größe: 19,66 KB / Downloads: 57)

und die globale Variable ...

Sonstige .vi  test.vi (Größe: 5,38 KB / Downloads: 52)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
. .
03.09.2010, 18:44
Beitrag #2

schrotti Offline
LVF-Freak
****


Beiträge: 811
Registriert seit: Feb 2008

LV-Version: 8.5 - 2010
LV-Erfahrung seit: 2006
LV-Sprachversion: kA

PLZ: 70180
Land: Deutschland
warum ist die Globale Variable schneller?
In LV 9 ist die globale Variable ebenfalls schneller. Aber warum auch nicht? Für so eine Aufgabe würde ich aber niemals einen Notifier oder GloVar verwenden sondern entweder eine FGV oder, wenn unbedingt erforderlich, eine Queue. Die FGV schneidet bei mir mit <1ms am besten ab.

Gruß Julius
Empfehlungen: expressionflow, LavaG , mooregoodideas, OpenG, JKI Blog
Tipp
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.09.2010, 18:48
Beitrag #3

Y-P Offline
- - - - -
LVF-Team

Beiträge: 10.345
Registriert seit: Feb 2006

LV-Version: Developer Suite Core -> LabVIEW 2011 Prof. (f2)
LV-Erfahrung seit: 2006
LV-Sprachversion: EN

PLZ: 71083
Land: Deutschland
warum ist die Globale Variable schneller?
Hier hab' ich was interessantes auf meiner Platte gefunden:

Sonstige .zip  Benchmark_Datatransfer.zip (Größe: 133,67 KB / Downloads: 63)

Lv86_img

Gruß Markus

Bitte immer das Profil aktualisieren und bei den hochgeladenen VIs die LabVIEW-Version angeben!!!
----------------------------------------------------------------------------------------------------------------------------------------------
Link zu einem kostenlosen Online Fußballmanager! (2minman)
----------------------------------------------------------------------------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
----------------------------------------------------------------------------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.09.2010, 19:03 (Dieser Beitrag wurde zuletzt bearbeitet: 03.09.2010 19:07 von schrotti.)
Beitrag #4

schrotti Offline
LVF-Freak
****


Beiträge: 811
Registriert seit: Feb 2008

LV-Version: 8.5 - 2010
LV-Erfahrung seit: 2006
LV-Sprachversion: kA

PLZ: 70180
Land: Deutschland
warum ist die Globale Variable schneller?
Aber warum Kopien erstellen und Variablen immer neu beschreiben? Verfälscht den Vergleich meines Erachtens erheblich.
   
   
Lv09_img2
Sonstige .zip  Benchmark_Datatransfer_2.zip (Größe: 154,48 KB / Downloads: 53)


Hier der Vergleich:
Alt
   

Mit Shiftregister und Datenfluss
   

Gruß Julius
Empfehlungen: expressionflow, LavaG , mooregoodideas, OpenG, JKI Blog
Tipp
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.09.2010, 19:14
Beitrag #5

Y-P Offline
- - - - -
LVF-Team

Beiträge: 10.345
Registriert seit: Feb 2006

LV-Version: Developer Suite Core -> LabVIEW 2011 Prof. (f2)
LV-Erfahrung seit: 2006
LV-Sprachversion: EN

PLZ: 71083
Land: Deutschland
warum ist die Globale Variable schneller?
Bei mir sind das statt 590 ms dann 575 ms. Macht also nicht viel aus.

Gruß Markus

Bitte immer das Profil aktualisieren und bei den hochgeladenen VIs die LabVIEW-Version angeben!!!
----------------------------------------------------------------------------------------------------------------------------------------------
Link zu einem kostenlosen Online Fußballmanager! (2minman)
----------------------------------------------------------------------------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
----------------------------------------------------------------------------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.09.2010, 19:43
Beitrag #6

schrotti Offline
LVF-Freak
****


Beiträge: 811
Registriert seit: Feb 2008

LV-Version: 8.5 - 2010
LV-Erfahrung seit: 2006
LV-Sprachversion: kA

PLZ: 70180
Land: Deutschland
warum ist die Globale Variable schneller?
' schrieb:Bei mir sind das statt 590 ms dann 575 ms. Macht also nicht viel aus.

Bei was?

Gruß Julius
Empfehlungen: expressionflow, LavaG , mooregoodideas, OpenG, JKI Blog
Tipp
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
.. .
03.09.2010, 20:49
Beitrag #7

Y-P Offline
- - - - -
LVF-Team

Beiträge: 10.345
Registriert seit: Feb 2006

LV-Version: Developer Suite Core -> LabVIEW 2011 Prof. (f2)
LV-Erfahrung seit: 2006
LV-Sprachversion: EN

PLZ: 71083
Land: Deutschland
warum ist die Globale Variable schneller?
Beim Notifier.

Gruß Markus

Bitte immer das Profil aktualisieren und bei den hochgeladenen VIs die LabVIEW-Version angeben!!!
----------------------------------------------------------------------------------------------------------------------------------------------
Link zu einem kostenlosen Online Fußballmanager! (2minman)
----------------------------------------------------------------------------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
----------------------------------------------------------------------------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.09.2010, 21:03 (Dieser Beitrag wurde zuletzt bearbeitet: 03.09.2010 21:05 von eg.)
Beitrag #8

eg Offline
LVF-SeniorMod


Beiträge: 3.867
Registriert seit: Nov 2005

LV-Version: 2009
LV-Erfahrung seit: 2003
LV-Sprachversion: kA

PLZ: 66424
Land: Deutschland
warum ist die Globale Variable schneller?
Ich verstehe gar nicht wozu man in einer einzigen Schleife einen Notifier/eine GV braucht. Nimm doch ein Cluster oder Array.

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.09.2010, 23:10
Beitrag #9

schrotti Offline
LVF-Freak
****


Beiträge: 811
Registriert seit: Feb 2008

LV-Version: 8.5 - 2010
LV-Erfahrung seit: 2006
LV-Sprachversion: kA

PLZ: 70180
Land: Deutschland
warum ist die Globale Variable schneller?
' schrieb:Beim Notifier.

Gruß Markus
Wenn ich die Referenz und den Fehlercluster nicht verzweige sondern wie im Bild verdrahte halbiert sich bei mir die Ausführungszeit. Bei der Queue ist der Effekt noch wesentlich heftiger. Das liegt aus der Ausführungsreihenfolge, die bei LV-Code leider nicht ersichtlich ist.

1. Dequeue Element wird ausgeführt. Die Queue ist leer, das Primitive wartet.
2. Enqueue Element wird aufgerufen und schiebt ein Element in die Queue.
3. Dequeue Element bricht den Wartevorgang ab, da ein Element zum Auslesen vorhanden ist.

Die Kopien rauben auch mir nur 5 ms, aber der unnötige Wartevorgang raubt 1600 ms und damit über 90 % der gemessenen Zeit.

@eg: Das soll hier hoffentlich nur ein Beispiel sein, aber siehe vi.libUtilityconfig.llb

Gruß Julius
Empfehlungen: expressionflow, LavaG , mooregoodideas, OpenG, JKI Blog
Tipp
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.09.2010, 07:57
Beitrag #10

Y-P Offline
- - - - -
LVF-Team

Beiträge: 10.345
Registriert seit: Feb 2006

LV-Version: Developer Suite Core -> LabVIEW 2011 Prof. (f2)
LV-Erfahrung seit: 2006
LV-Sprachversion: EN

PLZ: 71083
Land: Deutschland
warum ist die Globale Variable schneller?
Das ist nur ein Bsp., das die unterschiedlichen Verfahren vergleichen soll.

Gruß Markus

' schrieb:Ich verstehe gar nicht wozu man in einer einzigen Schleife einen Notifier/eine GV braucht. Nimm doch ein Cluster oder Array.

Bitte immer das Profil aktualisieren und bei den hochgeladenen VIs die LabVIEW-Version angeben!!!
----------------------------------------------------------------------------------------------------------------------------------------------
Link zu einem kostenlosen Online Fußballmanager! (2minman)
----------------------------------------------------------------------------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
----------------------------------------------------------------------------------------------------------------------------------------------
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
  Globale Variablen Speichern Frank M-F 2 77 31.01.2012 14:29
Letzter Beitrag: Frank M-F
  Sub-VI über globale Variable schließen smozart 5 433 06.12.2011 10:53
Letzter Beitrag: Lucki
  Schneller Umgang mit großen Arrays curassas 6 563 26.09.2011 13:13
Letzter Beitrag: erik.brenncke
  ?Globale Variable zwischenspeichern? Kirsc 6 1.025 07.07.2011 08:46
Letzter Beitrag: THL
  Xcontrol globale Variable weitergeben Tholo 1 790 25.03.2011 14:37
Letzter Beitrag: macmarvin
  Globale Variablen.vi in EXE öffnen ChrisT 2 987 18.02.2011 09:21
Letzter Beitrag: ChrisT

Gehe zu: