' schrieb:das mit dem zumuellen hat nur bedingt seine Richtigkeit.
Das sehe ich anders: Das ist nicht nur "nur bedingt richtig" sondern schlichtweg falsch. Das läßt sich leicht nachprüfen. Jedes Ikon eines reentranten VI inerhalb eines Programms ist ein eigener Clon. Wenn es drei Ikons im Programm gibt, dann gibt es diese drei Clones, und nicht mehr. Wenn in einer Schleife, wie das in einer Schleife eben der Fall zu sein pflegt, ein und dasselbe Ikon eines Sub-VIs immer wieder aufgerufen wird, und das Sub-VI ist reentrant und außerdem langsam, dann passiert nichts anderes als bei einem nicht-reentrantes VI: ein neuer Scheifendurchlauf findet erst statt, wenn alles in der Schleife - und dazu gehört auch das reentrante VI - abgearbeitet ist. Von der Erzeugung neuer Clones bei dieser Gelegenheit kann überhaupt keine Rede sein und auch nicht vom Zumüllen des Speichers.
Denselben Efekt wie mit einem reentranten VI erreicht man, wenn man mehrere identisch Kopien des Sub-Vis mit unterschiedlichem Namen erzeugt und jede Kopie im Programm nur ein mal verwendet. Nachteile hätte das nur bei der Versionspflege und im größeren Speicherbedarf auf der Harddisk.
Wann sind reentrante Sub-VI sinnvoll oder sogar notwendig?
Fall 1:
In eine Schleife laufen 10 identisch Sub-Vi parallel, und in jedem Sub-Vi gibt es Wartezeiten. Bei normalen SUB-Vi ist die Schleifendurchlaufzeit (wenn man mal die sonstigen zeiten vernachlässigt) gleich der Summe aller Wartezeiten, bei reenranten VI ist die Schleifendurclaufzet nur gleich der längten dieser 10 Zeiten
Fall 2:
Wenn das Sub-Vi nicht initialisierte Schleifen hat, dann braucht jedes Ikon seinen eigenen Datenbereich. Beispiel siehe unten: Zwei Punkt-zu-Punkt Tiefpassfilter mit den Zeitkonstanten 10 bzw. 20 Datenpunkten werden parallel betrieben. Wenn das Tiefpass-VI nicht reentrant ist, funktioniert das nicht, weil es insgesmat nur ein Memoryelement gibt. Es braucht aber jeder Filter seinen eigenen Speicher.
Fall 3:
Rekursiver Aufruf eines VI, d.h. Aufruf des Vi abc.vi innerhalb des VI abc.vi. Das kenne ich allerdings nicht aus eigener Praxis, aber hier - und nur hier - kann man sich ein Zumüllen des Speichers tatsächlich denken, bei entsprechender Tiefe der Rekursion.