MATLAB 実行エンジン

再設計された MATLAB® 実行エンジンを使用して、プログラムをさらに迅速に実行します。

アーキテクチャが改善されて、1 つの実行経路をもつすべての MATLAB コードで Just-In-Time コンパイルが使用されています。このエンジンの言語品質は向上しており、今後の拡張に備えたプラットフォームとなっています。

特定のパフォーマンスの改善点は、次のとおりです。

関数呼び出し

関数呼び出しのオーバーヘッドが大幅に減少して、コードを小さな関数に整理した場合、かなりのパフォーマンス ペナルティがなくなりました。

オブジェクト指向の機能

多くのオブジェクト指向の操作が迅速に実行されます。オブジェクト指向プログラミングによりコードの可読性、再利用性および保守性が向上します。エンジンのアーキテクチャが向上しているため、オブジェクト指向プログラミングを多用する MATLAB コードは迅速に実行されます。

要素ごとの数学演算

多くの要素ごとの数学演算の実行が最適化されています。これらの演算は、次のような配列に対する要素単位の算術演算です。

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


ユーザー アプリケーションのパフォーマンス向上

パフォーマンスが重要となる 76 のユーザー アプリケーションがテストされました。MATLAB 製品で使用されているコードがテストされました。すべてのテスト全体を通じてパフォーマンスは平均 40% 向上しました。再設計によってすべてのアプリケーションが迅速に実行されるようになったわけではありませんが、R2015b では R2015a と比べてこれらのアプリケーションの大半が少なくとも 10%速く実行されるようになりました。

図内の軸ラベルは、R2015a および R2015b の Windows PC 上で実行するアプリケーションの実行時間のレートを示します。初めての実行時間は除外し3 回の実行を行い、そのうち最も優れているものを使用しました。すべての clear all ステートメントが削除され、実行と実行の間にコードがクリアされないようにしました。

すべての MATLAB コードの Just-in-Time コンパイル

再設計された MATLAB 実行エンジンでは、すべての MATLAB コードの Just-in-Time (JIT) コンパイルが使用されています。以前の実行エンジンでは、あるケースの場合にのみ JIT コンパイルが使用されていました。JIT コンパイルは、実行されている MATLAB コード向けおよび特定のハードウェア プラットフォーム向けに最適化されている、ネイティブ マシン レベルのコードを生成します。

JIT コンパイルのパフォーマンス上のメリットが最大となるのは、MATLAB コードが追加で実行され、コンパイルされたコードが再利用される場合です。これは for ループの場合や、アプリケーションが MATLAB セッションで追加で実行され、少なくとも一部のアプリケーションの MATLAB ファイルが後続の実行で変更されないままである場合など、一般的な場合に発生します。

パフォーマンスのヒント

  1. clear を使用して変数をクリアします ( clear all はコードもクリアするので、使用しないでください)。
  2. アプリケーションを複数の MATLAB ファイルにモジュール化します。

コードの速さ

R2015b をダウンロードおよびインストールすることで再設計された MATLAB 実行エンジンを使用して、コードをテストします。コードを実行するとすぐに MATLAB 実行エンジンを活用できます。コードのパフォーマンスの向上に関するヒントについては、「パフォーマンスを向上させる方法」を参照してください。コードのパフォーマンスの評価に関する詳細については、「プログラムのパフォーマンスの測定」を参照してください。