Benchmark_Timer

Benchmark_Timer – Benchmark_Timer について

Benchmark_Timer について

先ほど説明したように、 このクラスは単にコードの特定の部分の実行所要時間を記録するだけのクラスです。 automatic モードの場合は、 このクラスのインスタンスを作成したところ以降の処理の所要時間を記録します。 manual モードの場合は、このクラスの start() メソッドと stop() メソッドをコールした間のコードの実行所要時間を記録します。

さらに、計測するコード片の中に マーカー を指定することもできます。マーカーを定義した場所で、 時間の情報が記録されます。

このような説明よりも、実際に例を見ていただいたほうがわかりやすいでしょう。

自動モードでの Benchmark_Timer の動作

<?php
require_once "Benchmark/Timer.php";

$timer = new Benchmark_Timer(TRUE);
// 自動モードに設定したので、ここから計測を開始します

$j = array();
for (
$i 0$i 100$i++) {
    
$j[] = $i;
    if (
$i == 49)
        
$timer->setMarker('Midway');
}

// ここでタイマーが終了し、自動的に結果を表示します
?>

上の例を PHP CLI SAPI で実行すると、次のように結果を出力します。 Apache SAPI で実行した場合は、同じ結果を HTML 形式で出力します。

Benchmark_Timer の実行結果

----------------------------------------------------
marker  time index            ex time         perct   
----------------------------------------------------
Start   1182558324.48638900   -                0.00%
----------------------------------------------------
Midway  1182558324.48655800   0.000169        62.13%
----------------------------------------------------
Stop    1182558324.48666100   0.000103        37.87%
----------------------------------------------------
total   -                     0.000272       100.00%
----------------------------------------------------

しかし、普通は結果を単に表示するだけでなくそれ以外の作業もしたくなるでしょう。 タイマーを手動モードで実行した場合は、 getProfiling() メソッドで結果を連想配列として取得できるようになります。 この情報を (上の結果のように) 表示したい場合は display() メソッドを使用します。 Benchmark_Timer が実装しているその他のメソッドについては、API ドキュメントを参照ください。

Benchmarking_Benchmark について (Previous) Benchmark_Profiler について (Next)
Last updated: Tue, 23 Sep 2014 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report or add a note.
View this page in:

User Notes:

There are no user contributed notes for this page.