Das Fenster Profil - Leistung und Speicher ist ein leistungsstarkes Werkzeug, mit dem Sie feststellen können, für welche Vorgänge Ihre Anwendung Zeit benötigt und wie hoch die Speicherlast ist. Das Fenster Profil - Leistung und Speicher zeigt für jedes VI in Ihrem System eine interaktive Tabelle mit dem Zeit- und Speicherbedarf der VIs an. Jede Zeile der Tabelle enthält Informationen zu einem bestimmten VI. Die Zeit wird sowohl in verschiedenen Kategorien als auch zusammenfassend angezeigt. Im Fenster Profil - Leistung und Speicher wird die kürzeste und längste Zeit berechnet, die von einem VI pro Durchlauf benötigt wird. Des Weiteren wird der Mittelwert berechnet.

Sie können die Informationen der Tabelle vollständig oder teilweise anzeigen, sie nach verschiedenen Kategorien sortieren und sich die Leistungsdaten eines SubVIs ansehen, wenn es von einem bestimmten VI aufgerufen wird.

Klicken Sie zur Anzeige des Fensters Profil - Leistung und Speicher auf Werkzeuge»Profil»Leistung und Speicher. In der folgenden Abbildung sehen Sie ein Beispiel dafür, wie das Fenster aussehen kann.

Die Angabe der Speicherlast ist optional, weil sich Ihr VI beim Ermitteln der Speicherlast erheblich verlangsamen kann. Die Option muss vor dem Starten von Profil - Leistung und Speicher unter Speicherverwendungsprofil aktiviert werden. Die Option kann während der Profilerstellung nicht deaktiviert werden.

Anzeige der Ergebnisse

Die Angaben können teilweise oder vollständig angezeigt werden. Einige Grunddaten werden immer angezeigt. Statistische Angaben, Details und Speicherlast (sofern aktiviert) sind dagegen optional.

Leistungsdaten werden auch für globale VIs angezeigt. Diese Angaben verlangen aber unter Umständen eine etwas andere Interpretation, wie in den folgenden kategoriespezifischen Abschnitten beschrieben ist.

Die Leistungsdaten für SubVIs werden durch Doppelklick auf den Namen des SubVIs in der Tabelle angezeigt. Daraufhin werden direkt unter dem Namen des VIs neue Zeilen mit den Leistungsdaten der zugehörigen SubVIs eingefügt. Wenn Sie ein globales VI doppelt anklicken, wird für jedes Bedienelement auf dem Frontpanel eine Zeile eingefügt.

Sie können die Zeilen der Tabelle durch einen Klick auf die gewünschte Spaltenüberschrift anders sortieren. Die Überschrift der Spalte, nach der die Tabelle aktuell sortiert ist, wird fettgedruckt dargestellt.

Die Zeitangaben für VIs sind nicht unbedingt mit der Zeit gleichzusetzen, die für einen vollständigen VI-Durchlauf benötigt wird. Der Grund dafür ist einerseits, dass ein multithreadfähiges Ausführungssystem die Ausführung von mehreren VIs verschachteln kann. Andererseits kann Zeit vergehen, die nicht direkt zur Ausführungsdauer zu rechnen ist. Dazu gehört beispielsweise die Zeit, in der ein Benutzer auf ein Dialogfeld reagiert, die Zeit zum Prüfen auf Mausklicks oder die Zeit, die in Zusammenhang mit der Funktion Warten (ms) im Blockdiagramm vergeht.

Zeitangaben

Wenn die Option Timing-Statistik aktiviert ist, können Sie zusätzliche Details zum Timing des VIs einsehen.

Wenn die Option Timing-Details aktiviert ist, wird eine Aufschlüsselung verschiedener Timing-Kategorien angezeigt, die die vom VI benötigte Zeit zusammenfassen. Bei VIs mit umfangreicher Benutzeroberfläche können diese Kategorien helfen, die zeitaufwändigsten Vorgänge zu ermitteln.

Speicherangaben

Mit der Option Speicherauslastung, die nur zur Verfügung steht, wenn vor Beginn der Analyse die Option Speicherverwendungsprofil aktiviert wurde, werden Angaben zur Speichernutzung des VIs angezeigt. Dabei handelt es sich um Messwerte des vom VI belegten Speicherplatzes. Die für alle VIs notwendigen Hilfsdatenstrukturen sind von dieser Messung ausgeschlossen. Der Speicherplatz des VIs umfasst nicht nur die von den Bedienelementen des Frontpanels genutzten Daten, sondern auch temporäre vom Computer erstellte Puffer.

Die Speichergröße wird nach einem VI-Durchlauf gemessen. Sie spiegelt unter Umständen nicht die vollständige Speicherauslastung wider. Wenn ein VI beispielsweise während der Ausführung große Arrays erzeugt und die Größe der Arrays vor Abschluss der Ausführung wieder verringert, werden zwischendurch gespeicherte große Arrays nicht mit eingeschlossen.

Dieser Abschnitt zeigt zwei Datensätze an: Angaben zur Anzahl genutzter Bytes und Angaben zur Anzahl genutzter Blöcke. Ein Block ist ein zusammenhängendes Speichersegment, das für das Speichern eines Datenelements verwendet wird. So ist ein Integer-Array beispielsweise mehrere Bytes lang, belegt aber nur einen Block. Das Ausführungssystem nutzt für Arrays, Strings, Pfade und Bilder unabhängige Speicherblöcke. Eine große Anzahl an Speicherblöcken im Heap Ihrer Anwendung kann zu einem allgemeinen Leistungsverlust führen (nicht nur bei der Ausführung).