MATLAB Execution Engine

Führen Sie Ihre Programme mit der verbesserten MATLAB® Execution Engine schneller aus.

Die verbesserte Architektur verwendet Just-in-Time-Kompilierung von MATLAB-Code, der genau einen Ausführungspfad benutzt. Die Engine liefert eine erhöhte Codequalität und stellt eine Plattform für zukünftige Weiterentwicklungen dar.

Die verbesserten Rechenleistungen umfassen:

Funktionsaufrufe

Der Funktionsaufrufaufwand ist erheblich reduziert, sodass bei der Formulierung von Code in kleinere Funktionen keine nennenswerten Leistungseinbußen mehr bestehen.

Merkmale im Bereich der objekt-orientierten Programmierung

Viele objekt-orientierte Operationen werden schneller ausgeführt. Objektorientierte Programmierung kann die Codelesbarkeit, Wiederverwendbarkeit und Wartbarkeit verbessern. MATLAB-Code, der objekt-orientierte Programmierung intensiv nutzt, wird dank der verbesserten Architektur der Engine schneller ausgeführt.

Elementweise ausgeführte mathematische Operationen

Die Ausführung vieler elementweiser mathematischer Operationen ist optimiert. Dies sind arithmetische, elementweise ausgeführte Operationen auf Arrays wie folgendes Beispiel verdeutlichen soll:

>> b = ((a+1).*a)./(5-a);


Erhöhung der Rechenleistung bei Applikationen unserer Anwender

76 Applikationen von Nutzern, bei denen die Ausführungszeit eine Rolle spielt, wurden getestet Im Test wurde Code benutzt, der MATLAB-Produkte verwendet. Über alle Tests betrug die durchschnittliche Leistungsverbesserung 40 %. Obwohl nicht alle Applikationen mit dem neuen Design schneller liefen, war die Mehrheit dieser Applikationen in R2015b um mindestens 10 % schneller als in R2015a.

Die Achsenbeschriftungen in der Abbildung weisen auf das Verhältnis der Ausführungszeiten der Applikationen zwischen R2015a und R2015b auf einem Windows PC hin. Es wurde der beste von drei Durchläufen verwendet, um die Ausführzeit abzüglich des initialen Durchlaufs zu bestimmen. Alle clear all Anweisungen wurden entfernt, um sicherzustellen, dass der Code zwischen den Durchläufen nicht entfernt wurde.

Just-in-Time-Kompilierung von sämtlichem MATLAB-Code

Die verbesserte MATLAB Execution Engine verwendet Just-in-Time (JIT)-Kompilierung von sämtlichem MATLAB-Code. Die Execution Engine hat früher JIT-Kompilierung nur in bestimmten Fällen verwendet. Die JIT-Kompilierung generiert nativen Code auf Maschinenebene, der für die Ausführung des MATLAB-Codes und für die spezifische Hardwareplattform optimiert ist.

Der Leistungsvorteil einer JIT-Kompilierung ist dann am größten, wenn MATLAB-Code weitere Male ausgeführt wird und er den kompilierten Code wiederverwenden kann. Dies geschieht üblicherweise bei for-Schleifen oder wenn Applikationen mehrere Male in einer MATLAB-Sitzung ausgeführt werden, wobei zumindest einige der Applikation zugrunde liegenden MATLAB-Dateien zwischen aufeinanderfolgenden Durchläufen unverändert bleiben müssen.

Tipps zur Leistungsoptimierung

  1. Verwendung von clear zum Löschen von Variablen anstatt clear all, wodurch auch Code entfernt wird.
  2. Modularisieren Sie Ihre Anwendungen hin zu mehreren MATLAB-Dateien

Wie schnell ist Ihr Code?

Testen Sie Ihren Code mit der verbesserten MATLAB Execution Engine, indem Sie R2015b herunterladen und installieren. Sie werden die Vorteile der neuen MATLAB Execution Engine nutzen, sobald Sie beginnen, Ihren Code auszuführen. Tipps zur Verkürzung der Ausführungszeiten finden Sie unter Techniken zur Steigerung der Rechenleistung. Um mehr über die Bewertung der Berechnungsdauer Ihres Codes zu erfahren, siehe Messung der Rechenleistung Ihres Programms.