Main Content

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

実行速度

生成した C/C++ コードの実行速度の向上

コード生成オプションや最適化を使用して、生成されたコードの実行速度を向上させます。動的メモリ割り当てを変更または無効化できます。これらは、実行速度に影響を与える可能性があります。並列化されたコードは parfor ループを使用して生成できます。可能な場合は、最適化された既存の C コードと特殊なライブラリを利用して、実行速度を向上させます。

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

関数

parforfor ループを並列化する
coder.varsize可変サイズのデータの宣言
coder.const生成コードでの定数への式の畳み込み
coder.inline生成されたコードで特定の関数のインライン化を制御
coder.loop.interchangeInterchange loop indices in generated code (R2023a 以降)
coder.loop.parallelize生成コードで特定の for ループを並列化 (自動並列化を無効化) (R2021a 以降)
coder.loop.reverseReverse loop iteration order in generated code (R2023a 以降)
coder.loop.tileTile for-loops in the generated code (R2023a 以降)
coder.loop.unrollAndJamUnroll and jam for-loops in the generated code (R2023a 以降)
coder.unroll各ループ反復でループ本体のコピーを作成することで、for ループを展開
coder.loop.vectorizeVectorize for loops in generated code (R2023a 以降)
coder.ceval外部 C/C++ 関数の呼び出し

クラス

coder.BLASCallbackBLAS ライブラリと CBLAS ヘッダーおよび生成コードの BLAS 呼び出しのデータ型情報を指定する抽象クラス
coder.LAPACKCallback生成されたコードでの LAPACK 呼び出しの LAPACK ライブラリおよび LAPACKE ヘッダー ファイルを指定するための抽象クラス
coder.fftw.StandaloneFFTW3Interface 生成されたコード内で FFTW 呼び出しに対して FFTW ライブラリを指定する抽象クラス
coder.loop.ControlLoop optimization control object (R2023a 以降)

トピック

生成コードの最適化

memcpy 最適化と memset 最適化

  • memcpy 最適化
    コード ジェネレーターは memcpy を使用して、生成されたコードを最適化します。
  • memset の最適化
    コード ジェネレーターは memset を使用して、生成されたコードを最適化します。

可変サイズの配列

配列のレイアウト

ループ

関数呼び出し

数値的なエッジ ケース

外部コードの統合

トラブルシューティング

parfor ループのトラブルシューティング

parfor ループのコード生成に関するエラーを診断します。

Resolve Issue: coder.inline('never') Does Not Prevent Inlining of Function

Troubleshoot instances of coder.inline('never') not preventing inlining.

macOS プラットフォームで生成された MEX がメモリに読み込まれたままの状態になる

ソース MATLAB® コードに parfor ループの本体から到達可能なグローバル変数または永続変数が含まれている場合に発生する問題をトラブルシューティング。