LabVIEWForum.de
Speicherreduzierung, geht das hier? - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Speicherreduzierung, geht das hier? (/Thread-Speicherreduzierung-geht-das-hier)

Seiten: 1 2 3 4


Speicherreduzierung, geht das hier? - abrissbirne - 27.07.2010 07:18

' schrieb:Dann habe ich jedoch ein zusätzliches Schieberegister, das ich gerne vermeiden würde.Wink
Dann musst du eben damit leben. Wenn man Optimierungsarbeit leistet kommt es schonmal vor das Programmcode nicht mehr so bleibt wie er war.


Speicherreduzierung, geht das hier? - macmarvin - 27.07.2010 09:55

Solange nicht der ganze, große Cluster kopiert wird, sondern nur dein Boolean, sollte der Performanceunterschied marginal bzw. nicht messbar sein.


Speicherreduzierung, geht das hier? - abrissbirne - 27.07.2010 10:23

' 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.


Speicherreduzierung, geht das hier? - Matze - 27.07.2010 10:28

' schrieb:Es wird aber der ganze Cluster kopiert.
Bist du dir da sicher? Wenn ich die Puffer-Quadrate richtig interpretiere, wird der Cluster nicht kopiert und nur der boolsche Wert ausgelesen.


Speicherreduzierung, geht das hier? - abrissbirne - 27.07.2010 11:54

' schrieb:Bist du dir da sicher? Wenn ich die Puffer-Quadrate richtig interpretiere, wird der Cluster nicht kopiert und nur der boolsche Wert ausgelesen.
http://zone.ni.com/devzone/cda/tut/p/id/3625

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.


Speicherreduzierung, geht das hier? - macmarvin - 27.07.2010 12:48

' 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.

Genau um diese Puffer/Kopien zu finden geht's ja gerade. Dazu gibts das Show Buffer Allocations. Siehe auch unter Dataflow Programming and Data Buffers
Auch nett: http://labviewwiki.org/Buffer_Allocation

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 :-)


Speicherreduzierung, geht das hier? - abrissbirne - 27.07.2010 12:59

' schrieb:Genau um diese Puffer/Kopien zu finden geht's ja gerade. Dazu gibts das Show Buffer Allocations. Siehe auch unter Dataflow Programming and Data Buffers
Auch nett: http://labviewwiki.org/Buffer_Allocation

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.


Speicherreduzierung, geht das hier? - macmarvin - 27.07.2010 13:21

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.


Speicherreduzierung, geht das hier? - abrissbirne - 27.07.2010 13:27

' 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.


Speicherreduzierung, geht das hier? - Matze - 27.07.2010 13:34

' schrieb:Das Problem ist, dass sie unter umständen gar nicht angezeigt wird.
Dann wäre aber das Pufferzuweisungs-Tool für die Katz'. Unsure