' schrieb:Z.B Schieberegister: Ja, optisch im Blockbild sieht es natürlich so aus, daß bei einem Schieberegister immer alles nach vorn - nach hinten -nach vorn ... geschaufelt wird. Ich bezweifle nur, daß das in der internen programmtechnischen Realisierung überhaupt so ist, dann wenn es wirklich so wäre, dann müßten Schieberegister um ein Vielfaches langsamer sein als sie es in Wirklichkeit sind. Die Geschwindigkeit von Schieberegistern ist doch bei jedem Programm wirklich das Allerletzte, um was man sich Sorgen machen muß.
Schieberegister sind in LabVIEW seit mindestens Version 6 sowas von optimalisiert. Da wird nichts unnötiges rumkopiert (abgesehen von ein paar dummen Bugs in sehr kurzlebigen Maintenance Releases wie etwa 6.0.1 einer war). Im Prinzip hat LabVIEW schon damals soviel möglich Inplace gearbeitet. Die seit 8.5 verfügbaren Inplace Funktionen fügten da nur Nuancen hinzu indem man dem LabVIEW Compiler damit explizit einen Hint geben kann, dass er eine bestimmte Operation ja ganz sicher Inplace ausführen soll. Davor konnte es bei unglücklichem Wiring schon mal passieren dass der Compiler auf Nummer sicher ging und einen Buffer mehr als nötig kopierte aber das waren schon in Version 6 die Ausnahmen mit komplexem Wirebranching und so, wo der Analyser einfach irgendeinmal das Handtuch warf und sich sagte, na dann tun wir es mal auf die sichere Weise.
Rolf Kalbermatter