このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
データ コピー削減
モデル パラメーターの調整によるコードの実行速度の向上とメモリ使用量の削減
生成されたコードにおいてデータのコピーを除去することで、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
の呼び出しをポインターの割り当てで置換することで、ベクトル信号割り当ての生成コードを最適化します。 - Virtualized Output Ports Optimization
The code generator eliminates code and data storage associated with root output ports by storing the signal entering the root output port as a global variable. - インライン不変信号
生成されたコード内でシンボリック名ではなく不変信号の数値を使用します。 - Data Copy Reduction for Data Store Read and Data Store Write Blocks
The code generator attempts to eliminate data copies for Data Store Read and Data Store Write blocks. - Reduce Data Copies for Bus Assignment Blocks in Generated Code
For models containing a Bus Assignment block, if possible, the code generator uses the same variable for the block input and output. Reusing these variables reduces data copies, conserves RAM consumption and increases code execution speed.
指定で削減されるデータ コピー
- Remove Data Copies by Reordering Block Operations in the Generated Code
Reorder block operations in the generated code to eliminate temporary variables and associated data copies. - 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. - バス信号の効率的なコードの生成
生成されたコードの効率性を最大化するためにバスをモデル化する。