LabVIEWForum.de
Extrem langsamer Variablen Zugriff über Referenzen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Extrem langsamer Variablen Zugriff über Referenzen (/Thread-Extrem-langsamer-Variablen-Zugriff-ueber-Referenzen)

Seiten: 1 2


RE: Extrem langsamer Variablen Zugriff über Referenzen - Kiesch - 01.08.2022 14:22

(30.07.2022 15:34 )BNT schrieb:  "Value (signaling)"
Sieh Dir mal die Beispiele zu User Defined Events an.

Gruß Holger

Ich nehm in der Regel deswegen das Value (signaling) weil ich das auch nutze um auf die Nutzerinteraktion zu reagieren. Da der Nutzer langsam ist, ist der Zeitverlust bei der Ausführung uninteressant. Die Idee ist dann meist nur: Wenns schonmal als Nutzerreaktion ausprogrammiert ist, will ich ja den code nicht nochmal schreiben. Also - das ist in dem Fall keine Krücke um Value (signaling) für Events nutzen zu können. Davon ab kuck ich aber auch gerne nochmal in die nutzerdefinierten Events rein. Da hab ich mich glaube noch nicht genug mit beschäftigt. Danke für den Hinweis.

Trotzdem nochmal kurz umrissen die Frage:
Die Empfehlung wäre im Zweifel die Eventstruktur nur für ne Producer Consumer Struktur (mit Queue?) zu benutzen, die dann intern die eigentliche Verarbeitung macht? Um mal dein Steckenpferd aufzugreifen - das ganze am besten gekoppelt mit nem Actor Framework? Wie ist da eigentlich die Performance bzw. der Performanceverlust?

Aber generell gesprochen, habe ich in aller Regel keine Realtime Systeme, so dass ich genügend Performancereserven habe.


Gruß Kiesch


RE: Extrem langsamer Variablen Zugriff über Referenzen - BNT - 01.08.2022 17:03

(01.08.2022 14:22 )Kiesch schrieb:  Die Idee ist dann meist nur: Wenns schonmal als Nutzerreaktion ausprogrammiert ist, will ich ja den code nicht nochmal schreiben.

Man einem Event-Case mehr als eine Quelle zuweisen, z.B. auch ein User Defined Event.
Du könntest aber auch den Code im User Defined Event-Case implementieren und vom GUI-Element Value Changed-Event-Case das User Defined Event senden. Dann wäre es richtig sauber und von überall erreichbar, wo das User Defined Event bekannt ist.

Gruß Holger


RE: Extrem langsamer Variablen Zugriff über Referenzen - BNT - 01.08.2022 17:20

(01.08.2022 14:22 )Kiesch schrieb:  Trotzdem nochmal kurz umrissen die Frage:
Die Empfehlung wäre im Zweifel die Eventstruktur nur für ne Producer Consumer Struktur (mit Queue?) zu benutzen, die dann intern die eigentliche Verarbeitung macht? Um mal dein Steckenpferd aufzugreifen - das ganze am besten gekoppelt mit nem Actor Framework? Wie ist da eigentlich die Performance bzw. der Performanceverlust?

Das kann man so allgemein nicht sagen. Das hängt auch davon ab, wie lange die Ausführung des Codes dauert. Man kann das in einem Event-Case machen, egal ob Valued changed oder User Defined Event. Via Voreinstellung blockiert aber ein Event-Case die Ausführung der anderen Cases. Das kann man ändern, aber dann wird's unübersichtlich.

Actor Framework: Die Kommunikation zwischen dem Actor, der im Shift-Register der While-Loop des zugehörigen Actor.lvclass:Actor Core.vi lebt, und einer möglichen GUI-Event-Loop als Dekoration im Actor Core.vi der Kindklasse würde im einfachsten Fall User Defined Events und Message Enqueues (Enqueuer) nutzen. Da gibt es keine echten Performance-Einbußen im Vergleich zur Nutzung von User Defined Events und Queues im Gebrauch ohne Actor Framework. Das Actor Framework nimmt Dir aber das Thread-Reference-Handling ab.

Gruß Holger