profile
関数実行時間のプロファイル
構文
説明
プロファイラーを使用して実行時間を追跡します。MATLAB® コードの実行時間を把握しておくと、コードのデバッグと最適化に役立ちます。プロファイラーのユーザー インターフェイスの詳細については、プロファイラーを参照してください。
profile は関数の実行時間をプロファイリングします。actionaction を使用して、プロファイラーの開始、停止、再開およびプロファイル統計量の表示と消去を行います。たとえば、profile on はプロファイラーを開始します。
profile は、指定したオプションを使用してプロファイラーの開始または再開を行います。たとえば、action option1 ... optionNprofile resume -history はプロファイラーを再開して関数呼び出しのシーケンスを記録します。
profile は、指定されたプロファイラー オプションを設定します。プロファイラーがオンの場合にいずれかのオプションを指定すると、MATLAB からエラーがスローされます。オプションを変更するには、まず option1 ... optionNprofile off を指定してから、新しいオプションを指定してください。
例
入力引数
出力引数
制限
MATLAB プロファイラーは、計算の実行とデータの収集をコードの実行中に行います。これには追加の演算リソースが必要であり、プロファイラーがアクティブな場合はアクティブでない場合に比べて同じコードの実行が遅くなります。そのため、プロファイラーで測定される実行時間は、コードのパフォーマンスの絶対尺度ではなく相対尺度として扱うようにしてください。
プロファイルされたコードが間接 (または相互) 再帰を使用する場合、プロファイラーから返される結果が正確でない可能性があります。再帰が直接再帰である (1 つの関数がその関数自体を呼び出している) 場合、プロファイラーはその関数に対する非再帰の呼び出しの合計時間を返します。プロファイルされたコード内の関数が再帰的 (直接または間接) であるかどうかを判定するには、
FunctionTableエントリのIsRecursiveフィールドの値を調べます。プロファイラーはコード セクションの評価ではサポートされません。
ヒント
プロファイラー ユーザー インターフェイスを開くには、
profile viewer構文を使用するか、プロファイラーを参照してください。プロファイラー ユーザー インターフェイスは MATLAB Online でサポートされていません。MATLAB R2015b 以降、既定のタイマーには
'performance'が使用されます。以前のバージョンの MATLAB では、既定のプロファイラー タイマーが実時間ではなく CPU 時間を測定する'cpu'に設定されていました。
バージョン履歴
R2006a より前に導入