プログラム|スクリプト|速度|実行
前述したように、速度に影響を与えるコードを見つけることによってのみ、コードを最適化できます。 PEAR のベンチマーク パッケージの Benchmark_Timer クラスと Benchmark_Iterate クラスを使用すると、スクリプトの実行速度を簡単にテストできます。 (PEAR のインストールと設定については、関連情報をご自身でご確認ください)。
まず、Benchmark_Iterate クラスを使用して、プログラム内の特定の関数またはクラスのメソッドの実行時間をテストします。
benchmark1.php
require_once('Benchmark/Iterate.php');
$benchmark = new Benchmark_Iterate();
$benchmark->run(10, 'myFunction','test'); = $benchmark->get();
echo "
"; print_r($result); echo "
" function myFunction($var) {
// 何かをする
echo ';
}
?>
ベンチマークを作成する Iterate オブジェクト $benchmark このオブジェクトは、myFunction 関数を 10 回実行するために使用されます。
$argument 変数は毎回 myFunction に渡され、複数実行の解析結果が $result に格納され、ベンチマーク オブジェクトの get() メソッドを使用して取得されます。この結果は print_r() を使用して画面に出力されます。通常、出力は次のようになります:
Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Helloello [5] => 0.000076 [6] => 0.000070 [7] => 0.000073 [8] => 0.000070 [9] => 0.000074 [10] => 0.000072 [平均] => 0.000108 [反復] => 10)
myFunctionが実行されるたびに、ベンチマークオブジェクトは実行時間を追跡します。そして、平均実行時間([平均]ライン)が計算されます。対象関数を複数回実行することで、関数の平均実行時間を取得できます。
実際のテストでは、より客観的な結果を得るために、関数の数は少なくとも1,000回程度必要です。