Bei jeder VI-Kompilierung versucht der Compiler, bestimmte Optimierungen auf das Blockdiagramm anzuwenden, um die Ausführungsgeschwindigkeit des VIs zu maximieren. Zum Durchführen dieser Optimierungen muss der Compiler den vorhandenen Programmcode analysieren und bestimmen, an welchen Stellen eine Optimierung möglich und hilfreich ist. Je nach Codekomplexität des VIs beansprucht eine solche Analyse Speicher und Zeit. Wenn sich der Umfang des Programmcodes in einem VI erhöht, benötigt der Compiler auch mehr Speicher und Zeit für die Durchführung der Optimierungen.

Aufgrund der Anforderungen an den Speicher zum Optimieren von besonders komplexen VIs kann es beim Kompilieren dieser VIs zu Speicherüberlauf oder zu signifikanten Verzögerungen kommen. Um dieses Problem für den Großteil von VIs zu vermeiden, vergleicht der Compiler die Komplexität jedes VIs mit einem Schwellwert für die Compiler-Optimierung. Wird dieser Schwellwert überschritten, schränkt der Compiler speicherintensive Optimierungen ein. Durch das Einschränken von Optimierungen wird jedoch verhindert, dass VIs mit maximaler Geschwindigkeit ausgeführt werden. Der Compiler geht also bei komplexen VIs einen Kompromiss zwischen Editor-Reaktionszeit und VI-Ausführungsgeschwindigkeit ein.

Dieser Kompromiss lässt sich vermeiden, wenn Sie VIs in SubVIs unterteilen. Die Aufteilung in SubVIs führt zu einem Editor mit guter Reaktionszeit, optimierter Ausführungsgeschwindigkeit und benutzerfreundlichem Programmcode. Bei VIs, die sich nicht in SubVIs aufteilen lassen, kann der Schwellwert angepasst werden, um folgende Probleme zu beheben:

  • Beim Kompilieren eines VIs oder Erstellen einer Anwendung steht nicht genügend Speicher zur Verfügung.
  • Beim Kompilieren eines VIs oder Erstellen einer Anwendung kommt es zu großen Verzögerungen.
  • Sie möchten das VI oder die Anwendung für maximale Ausführungsgeschwindigkeit kompilieren, nachdem Sie die Bearbeitung abgeschlossen haben.