データ コピー削減
モデル パラメーターの調整によるコードの実行速度の向上とメモリ使用量の削減
生成されたコードにおいてデータのコピーを除去することで、RAM と ROM の消費を削減し、コード実行速度を上げます。コード ジェネレーターは一部のデータ コピーを削減します。その他のデータ コピーは、特定のモデル パラメーターを調整するか MATLAB Function ブロックの入力引数および出力引数に同じ名前を指定することで削減するか、Simulink 信号を使って再利用を指定することで削減できます。
モデル設定
トピック
データ コピー削減の基礎
- 効率的なコード生成に向けてモデルを最適化する設計手法
設計ツールおよび設計手法を適用してコード生成向けにモデルを最適化する。 - Optimize Generated Code Using Code Efficiency Tools and Techniques
When generating production code from your model to deploy into a real-time embedded system, code efficiency is an important consideration. - コード生成アドバイザーを使用したコード生成の目的に合わせたモデルの設定
コード生成アドバイザーを使用してコード生成の目的に対してモデルをチェックします。 - Generate Efficient Code by Setting Model Configuration Parameters
Choose the efficiency level and priorities for your generated code.
既定で削減されるデータ コピー
- 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. - 生成されたコードにおけるローカル ブロック出力の有効化と再利用
可能な場合、コード ジェネレーターは、ブロック出力をローカル変数として宣言し、これらの変数を再利用できるようにします。
指定で削減されるデータ コピー
- 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.