主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

メモリ使用的量

生成したC / c++コードが使用するRAM,罗およびスタック領域の削減

生成されたコードでのメモリ使用量を削減するための,MATLAB®コードの変更方法を決定します。関数を呼び出すとき、入力と出力で同じ変数を使用することで、データの渡し方を制御します。参照渡しによって、生成されたコードで使用されるメモリが削減されます。スタック領域の使用量に対して制限を設定し、動的メモリ割り当てを使用するタイミングを指定することで、メモリの割り当て方法を制御します。追加のコードを生成する機能 (整数オーバーフローのサポートなど) を無効にすることで、コードのサイズを最小化します。

特定の条件に合わせたコードの最適化方法の詳細については,最適化手法を参照してください。

関数

coder.inline 生成されたコードで特定の関数のインライン化を制御
coder.const 生成コードでの定数への式の畳み込み
coder.ceval 外部C / c++関数の呼び出し

クラス

编码器。常数 1つのMATLAB値を含むセットを表す
编码器。ExternalDependency 外部コードへのインターフェイス

例および操作のヒント

条件付きステートメント

未使用の実行パスのコード生成を防ぐ方法

制御フロー変数を定数にして,未使用の分岐のコードの生成を防ぎます。

関数呼び出し

生成されたコードでの関数入力のデータコピーの回避

入力引数を参照渡しで渡すコードを生成する。

生成コードのパフォーマンスと可読性を微調整するためのインライン化の制御

インライン化によって関数呼び出しのオーバーヘッドは排除されますが,大きいC / c++コードが生成され,コードの可読性が低下する可能性があります。

スタック領域使用量の制御

生成コードで使用できる最大スタック領域を指定します。

関数呼び出しの定数への畳み込み

生成コードで式を定数に置き換えて実行時間を短縮します。

配列

動的メモリ割り当てしきい値の設定

特定のサイズより小さい配列の動的メモリ割り当てを無効にします。

大きな配列と構造体の再利用

変数の再利用を指定してメモリ使用量を削減する。

数値的なエッジケース

整数オーバーフローまたは非有限のサポートの無効化

整数オーバーフローまたは非有限を処理するサポートコードの生成を抑制してパフォーマンスを改善します。

カスタムコードの統合

外部コードまたはカスタムコードの統合

独自に最適化したコードを統合してパフォーマンスを改善します。

生成されたスタンドアロンコードでのLAPACK呼び出しを使用した線形代数の高速化

特定の線形代数関数に対してLAPACK呼び出しを生成する。使用するLAPACKライブラリを指定する。

生成されたスタンドアロンコードでの巴拉斯呼び出しを使用した行列演算の高速化

特定の低水準行列演算の巴拉斯呼び出しを生成します。使用する巴拉斯ライブラリを指定します。

生成されたスタンドアロンコードでのFFTWライブラリ呼び出しを使用した高速フーリエ変換の高速化

高速フーリエ変換のためのFFTWライブラリ呼び出しを生成する。FFTWライブラリを指定する。

概念

最適化手法

生成されたコードの実行速度またはメモリ使用量を最適化します。

生成コードからの未使用パスの除外

制御フロー変数を定数にして,未使用の分岐のコード生成を防ぎます。

スタックの割り当てとパフォーマンス

スタック領域が制限されている場合は,ヒープに大きい変数を割り当てます。

生成コードのMATLAB编码器の最適化

生成コードのパフォーマンスを改善するには,コードジェネレーターで最適化を使用します。

整数オーバーフローまたは非有限のサポートの無効化

整数オーバーフローまたは非有限を処理するサポートコードの生成を抑制してパフォーマンスを改善します。

スパース行列のコード生成

コード生成用のMATLABコードでのスパース行列の使用