メインコンテンツ

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

既定の設定では、ローカル変数はスタックに割り当てられます。大きくてスタックに収まらない変数は、メモリに静的に割り当てられます。

スタックの割り当てには通常、静的な割り当てよりも効率的なメモリが使用されます。ただし、スタック領域は、通常は組み込みプロセッサでは制限されることがあります。MATLAB® Coder™ を使用して、ターゲット ハードウェアに対して生成コードが適切になるようにスタック領域使用量の制限を手作業で設定できます。ターゲット ハードウェアの構成に基づいて、この制限を選択できます。詳細は、スタック領域使用量の制御を参照してください。

制限されたスタック領域では、静的な割り当てを使用するのではなく、ヒープに大きな変数を割り当てる選択をすることができます。ヒープへの割り当てによって処理速度は遅くなりますが、静的割り当てよりもメモリ効率が向上します。ヒープに大きな変数を割り当てるには、次のいずれかを実行します。

  • コード構成オブジェクトで、MultiInstanceCode プロパティを true に設定する。

  • [コード生成設定] ダイアログ ボックスで、[再呼び出し可能なコードを生成] チェック ボックスをオンにする。

参考

トピック