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!
' schrieb:Solange nicht der ganze, große Cluster kopiert wird, sondern nur dein Boolean, sollte der Performanceunterschied marginal bzw. nicht messbar sein.
Es wird aber der ganze Cluster kopiert. Und wenn dann eine große Menge an Messdaten innerhalb des Clusters mitkopiert werden, bremst das nicht nur die Performance aus, sondern kann im schlimmsten Fall zum Speicherüberlauf führen. Deshalb ist es keine gute Idee Messdaten in einem Cluster zu speichern.
27.07.2010, 10:28 (Dieser Beitrag wurde zuletzt bearbeitet: 27.07.2010 10:28 von Matze.)
' schrieb:Bist du dir da sicher? Wenn ich die Puffer-Quadrate richtig interpretiere, wird der Cluster nicht kopiert und nur der boolsche Wert ausgelesen.
Aus dem Link:
Since LabVIEW is a dataflow language, copies are an integral part of how the language works. Any time there is a fork in a wire, a copy may be made. LabVIEW is fairly intelligent and usually makes a copy only when necessary. However, LabVIEW is also safe. If in doubt, a copy will be made.
Du kannst dir also nie Sicher sein, dass LV wirklich schlau genug ist zu erkennen, ob du die Daten noch brauchst. Innerhalb einer Case Struktur bin ich mir ziemlich sicher, dass eine Kopie gemacht wird.
Die Moral von der Geschicht --> immer versuchen Datenflusskonform zu programmieren.
' schrieb:Du kannst dir also nie Sicher sein, dass LV wirklich schlau genug ist zu erkennen, ob du die Daten noch brauchst. Innerhalb einer Case Struktur bin ich mir ziemlich sicher, dass eine Kopie gemacht wird.
Innerhalb einer Casestruktur bin ich mir sehr sicher, dass ich auch von sehr großen Clustern keine komplette Kopie bekommen habe.
Optimieren in LV mitunter etwas magisch... aber "hide the dots" spielen kann auch Spass machen :-)
Innerhalb einer Casestruktur bin ich mir sehr sicher, dass ich auch von sehr großen Clustern keine komplette Kopie bekommen habe.
Optimieren in LV mitunter etwas magisch... aber "hide the dots" spielen kann auch Spass machen :-)
Dieses Tool wird dir leider bei Drahtabzweigen nie helfen, weil es hier keine Bufferallocation anzeigt aber durchaus eine vornehmen kann.
Wenn eine Bufferallocation vorkommt, wird sie aber nicht an der Drahtabzweigung angezeigt, sondern an der folgenden Funktion, Tunnel o.ä. und da sieht man sie dann auch schön mit dem Show Buffer Allocations.
' schrieb:Wenn eine Bufferallocation vorkommt, wird sie aber nicht an der Drahtabzweigung angezeigt, sondern an der folgenden Funktion, Tunnel o.ä. und da sieht man sie dann auch schön mit dem Show Buffer Allocations.
Das Problem ist, dass sie unter umständen gar nicht angezeigt wird.