このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
データ コピー削減
モデル パラメーターの調整によるコードの実行速度の向上とメモリ使用量の削減
生成されたコードにおいてデータのコピーを除去することで、RAM と ROM の消費を削減し、コード実行速度を上げます。コード ジェネレーターは一部のデータ コピーを削減します。その他のデータ コピーは、特定のモデル パラメーターを調整するか MATLAB Function ブロックの入力引数および出力引数に同じ名前を指定することで削減するか、Simulink 信号を使って再利用を指定することで削減できます。
トピック
既定で削減されるデータ コピー
- Optimize Generated Code by Passing Reusable Subsystem Outputs as Individual Arguments
The code generator eliminates data copies from local variables back to global block I/O structures by passing reusable subsystem outputs as individual arguments instead of as a pointer to a structure stored in global memory. - ブロック出力時の中間結果の計算と保存の最小化
コード ジェネレーターは、モデル内の個々のブロックに対して別々のコード ステートメントとストレージ宣言を生成する代わりに、ブロック演算を単一の式に畳み込みます。 - 生成コードでのグローバル ブロック出力の再利用
コード ジェネレーターはグローバル変数を再利用しようとします。 - 生成されたコードにおけるローカル ブロック出力の有効化と再利用
可能な場合、コード ジェネレーターは、ブロック出力をローカル変数として宣言し、これらの変数を再利用できるようにします。 - データ コピーからポインターの割り当てへの変換
コード ジェネレーターは、forループ制御による要素割り当てと関数memcpyの呼び出しをポインターの割り当てで置換することで、ベクトル信号割り当ての生成コードを最適化します。 - インライン不変信号
生成されたコード内でシンボリック名ではなく不変信号の数値を使用します。
指定で削減されるデータ コピー
- Optimize Generated Code by Using Signal Labels to Guide Buffer Reuse
Remove data copies by using signal labels. - グローバル変数の使用の最適化
メモリ使用量および実行速度の要件を満たすためのグローバル変数参照の最適化を選択する。 - Specify Buffer Reuse for MATLAB Function Blocks in a Path
Reuse buffers across MATLAB Function blocks. - Specify Buffer Reuse for Signals in a Path
Use the Reusable storage class to specify buffer reuse for multiple signals in a path. - バスの効率的なコードの生成
生成されたコードの効率性を最大化するためにバスをモデル化する。 - Control Inlining to Fine-Tune Performance and Readability of Generated Code
Inlining eliminates the overhead of function calls but can produce larger C/C++ code and reduce code readability.