Main Content

実行速度

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

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

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

関数

coder.areUnboundedVariableSizedArraysSupportedCheck if current configuration settings allow unbounded variable-size arrays (R2024a 以降)
coder.ceval外部 C/C++ 関数の呼び出し
coder.const生成コードでの定数への式の畳み込み
coder.inline生成されたコードで特定の関数のインライン化を制御
coder.inlineCallInline called function in generated code (R2024a 以降)
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.loop.vectorizeVectorize for loops in generated code (R2023a 以降)
coder.nonInlineCallPrevent inlining of called function in generated code (R2024a 以降)
coder.unroll各ループ反復でループ本体のコピーを作成することで、for ループを展開
coder.varsize可変サイズのデータの宣言
parforfor ループを並列化する

クラス

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") and coder.nonInlineCall Do Not Prevent Function Inlining

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

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

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