主要内容

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

コード生成速度の向上

モデルのコード生成にかかる時間は,モデルのサイズとコンフィギュレーション設定によって異なります。たとえば,大きなモデルで作業する場合,コードの生成に時間がかかります。モデルのコード生成にかかる時間を短縮するには,以下の1つ以上の方法を試してください。

  • インクリメンタルなモデルのビルド

  • 大きなモデル参照階層の並列ビルド

  • コード生成時のメモリ要件の最小化

  • コードのみの生成

  • コード生成レポートの作成の無効化

インクリメンタルなモデルのビルド

slbuildコマンドを使用してモデルをビルドし,コードを生成できます。既定の設定では,モデルをリビルドするときに,slbuildはインクリメンタルモデルのビルドを提供します。この方法では,最近行われたモデルのビルド以後に変更されたモデルまたはサブモデルのみリビルドされます。インクリメンタルモデルのビルドにより,コード生成にかかる時間が短縮されます。[モデル参照)ペインで[リビルド]パラメーターを使用し,参照モデルのコードをどの時点でリビルドするかを決定するのに仿金宝app真软件®が使用する方法を変更します。[リビルド]パラメーターの詳細については,リビルドを参照してください。

大きなモデル参照階層の並列ビルド

並列計算環境では,条件が満たされる場合にいつでも大きなモデル参照階層を含むモデルを並列にビルドすることで,コード生成およびコンパイルの速度の向上が可能になります。たとえば,并行计算工具箱™ソフトウェアがインストールされていると,各参照モデルのコード生成とコンパイルをマルチコアホストコンピューターの複数コアに分散できます。MATLAB®并行服务器™ソフトウェアがインストールされている場合は,各参照モデルのコード生成とコンパイルをMATLAB并行服务器構成内のリモートワーカーに分散できます。

参照モデルに並列ビルドを使用して実現される実行速度の向上は,以下を含む複数の要因によって異なります。

  • そのモデル参照階層で並列ビルドできるモデルの数

  • 参照モデルのサイズ

  • 利用可能なローカルワーカーとリモートワーカー数などの並列計算リソース

  • ローカルマシンとリモートマシンのハードウェア属性(RAMの容量,コア数など)

詳細については,並列ビルドを使用した参照モデルのビルド時間の短縮を参照してください。

コード生成時のメモリ要件の最小化

大量のパラメーターと定数データ(ルックアップテーブルなど)を含むモデルでは,メモリリソースに負担がかかり,コード生成の速度が落ちる可能性があります。コードジェネレーターはこのデータを模型.rtwファイルにコピーします。模型.rtwファイルは,目标语言编译器が解析し,ブロック計算,パラメーター,信号および定数データを高水準言語(たとえば,C)に変換するモデルの部分表現です。目标语言编译器(TLC)はコードジェネレーターに不可欠な一部です。コードジェネレーターは,パラメーターとデータがモデル自体からのものか,ワークスペース内の変数やオブジェクトからのものであるかに関係なく,パラメーターとデータを模型.rtwにコピーします。

コードジェネレーターがこのデータを模型.rtwにコピーするには,データベクトルに格納可能な最大要素数を指定することで,コード生成速度を改善できます。データベクトルが指定サイズを超えると,コードジェネレーターは模型.rtwに参照キーを配置します。TLCはこのキーを使って仿真金宝app软件からのデータにアクセスし,生成されたコードに形式化します。その結果,参照キーはメモリに大きなデータベクトルのコピーを1つだけ維持することになります。

既定ではコードジェネレーターが実際のデータ値の代わりに参照キーを使用するのは10要素を超えた場合です。この値を検証できます。コマンドウィンドウで,次のコマンドを入力します。

get_param (0,“RTWDataReferencesMinSize”

しきい値を別の値に設定するには,次の関数set_paramをコマンドウィンドウに入力します。

set_param (0,“RTWDataReferencesMinSize”, <大小>)

大小に整数値を指定します。データ要素数がその値を超えるとコードジェネレーターによって実際のデータ値の代わりに参照キーが使用されます。

コードのみの生成

ビルドプロセスでコードとmakefileは生成するが,使コマンドの呼び出しを行わないように指定すると,コード生成速度を向上させることができます。コードジェネレーターが使コマンドを呼び出すと,コードジェネレーターはコードの生成,コードのコンパイルおよび実行可能ファイルの作成を行うため,ビルドプロセスにより時間がかかります。

[モデルコンフィギュレーションパラメーター]ダイアログボックスの[コード生成)[コード生成のみ]パラメーターを選択すると,ビルドプロセスでコードのみが生成されるように指定できます。[コンフィギュレーションパラメーター][コード生成)[ビルドプロセス][makefileの設定)[makefileの生成)パラメーターを選択して,コードジェネレータープロセスでmakefileを生成することを指定できます。

コード生成レポートの作成を抑止する

ビルドプロセスの一部としてコード生成レポートを生成しないことにより,コード生成を高速化できます。コード生成レポートを無効にするには,[コード生成)[レポート]ペインで[コード生成レポートを作成)パラメーターをオフにします。ビルドプロセスの後にビルドプロセス後のコード生成レポートの作成の手順を行うことで,コード生成レポートを生成できます。

関連するトピック