パフォーマンス
生成コードのパフォーマンス改善のためのガイドライン
ブロック
MATLAB Function | 組み込み C コードを生成する MATLAB コードをモデルに含める |
関数
coder.inline | 生成されたコードで特定の関数のインライン化を制御 |
coder.unroll | 各ループ反復でループ本体のコピーを作成することで、for ループを展開 |
coder.const | 生成コードでの定数への式の畳み込み |
例および使用方法
- for ループおよび parfor ループの展開
ループ展開を制御します。
- コードのインライン化
インライン化によって関数呼び出しを関数本文と置き換えて、関数呼び出しのオーバーヘッドを排除します。
- 生成されたコードでの関数入力のデータ コピーの回避
入力引数を参照渡しで渡すコードを生成する。
- 再利用可能なコードの生成
関数を再利用するには、ファイル内にそれらの関数を保存するか、外部関数を生成されたコードに統合します。
- 実行時チェックの制御
実行時チェックを無効にしてパフォーマンスを改善します。
概念
- MATLAB Function ブロックでの線形代数の LAPACK 呼び出し
LAPACK 関数呼び出しは、特定の線形代数関数を呼び出す MATLAB Function ブロック アルゴリズムのシミュレーション速度を向上します。
- MATLAB Function ブロックでの行列演算のための BLAS コール
BLAS 関数呼び出しは、特定の低水準のベクトルおよび行列関数を呼び出す MATLAB Function ブロック アルゴリズムのシミュレーション速度を向上させます。
- MATLAB Function ブロックでの高速フーリエ変換関数のための FFTW 呼び出し
FFTW 関数呼び出しによって、MATLAB® 高速フーリエ変換 (FFT) 関数を呼び出す MATLAB Function ブロック アルゴリズムのシミュレーション速度を向上させることができます。