Development Environment | ![]() ![]() |
プロファイリングとは?
プロファイリング は、プログラムが、どのポイントで時間を費やしているのかを知る手段です。計測することは、実行時間を最も消費している場所はどこなのかを推定する、より良い方法です。設計時にスピードを優先してプログラムを組んでいても、実際に計測すると予期しない効果が発見されることがあるからです。効率良くコードを作成するための1つのポイントは、出来る限りシンプルに原型となるインプリメンテーションを作成し、その後で、プロファイラを使って高速化で障害となる部分を見つけだすという手順でコードを作成することです。早すぎる段階で最適化を行うと、コードが不必要に複雑になるにも関わらず、性能はほとんど改善されていない結果になることがしばしば生じます。
プロファイラを使って、最も多くの時間を消費する関数を識別し、その後、その関数をコールしている理由を考え、その使用を最小化する方法を考えます。特別な関数をコールする回数が適切か否かを決定する手助けになります。プログラムが、複雑な構造に分かれているために、最も時間を消費する関数を明示的にコールしているかを見ることは困難です。むしろ、ユーザのコードの中に含まれている関数が、他の関数を呼び、コードの中のいくつかの層で、時間を消費する関数をコールしている可能性もあります。この場合、ユーザが使っているどの関数が時間を消費する関数をコールしているのかを確定することが、重要なことになります。
プロファイラは、つぎの事柄を解明することで、問題を解く手助けになります。
時間の大部分を消費する部分が、数個の組み込み関数からなっている場合、期待したとおりのコードの最適化が既に行われていると考えて良いでしょう。
![]() |
M-ファイルのパフォーマンスの改善 - プロファイラ | プロファイラの機能 | ![]() |