PHPマニュアル/PEARマニュアル | ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot

Benchmark_Profiler | JavaScript入門&応用&リファレンスなら「JavaScriptist」

  

Benchmark_Profiler

Benchmark_Profiler – Benchmark_Profiler について

Benchmark_Profiler について

このクラスの挙動は Benchmark_Timer とほとんど同じですが、 調査するコードの中で セクション を定義できるという点が異なります。 セクションマーカー とは異なり、状態を管理しています。 そして、そのセクションを何度実行したのかといった情報を記憶します。

プロファイリングの開始地点から終了地点までの経過時間情報だけでなく、 すべての セクション についての開始時と終了時の情報が記録されます。 以下の例をごらんください。

手動モードでの Benchmark_Profiler の動作

<?php

require_once 'Benchmark/Profiler.php';

$profiler = new Benchmark_Profiler;

function 
wasteTime() {
    
$j 2;
    for (
$i 0$i 100$i++) {
        
$j $j 10;
    }
    return;
}    

function 
myFunction() {
    global 
$profiler;
    
$profiler->enterSection('myFunction');
    
wasteTime();
    
$profiler->leaveSection('myFunction');
    return;
}

// 手動モードなので、手動で開始します
$profiler->start();

wasteTime();
myFunction();
myFunction();
wasteTime();

// 手動モードなので、終了と結果の表示を指示します
$profiler->stop();
$profiler->display();

?>

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

Benchmark_Profiler の実行結果

------------------------------------------------------------------------------------
Section             Total Ex Time         Netto Ex Time         #Calls    Percentage
------------------------------------------------------------------------------------
myFunction          5.8174133300781E-5    5.8174133300781E-5    2          17.22%
Global              0.00033783912658691   0.00027966499328613   1         100.00%

ごらんいただいてわかるとおり、デフォルトの出力結果はあまり有用ではありません。 手動モードの場合は、getSectionInformations()getAllSectionsInformations() といったメソッドを用いればセクションごとの詳細なプロファイル情報が得られます。 詳細は API ドキュメントを参照ください。

忘却曲線を使ってこの知識を確実に記憶に残す

フォーラムで「Benchmark_Profiler」について話す
各種マニュアル: PHPマニュアル | PEARマニュアル | Smarty(英語)マニュアル | PHP-GTKマニュアル | Benchmark_Profiler」をGoogle検索
copyright © 1997-2024 PHP ドキュメント作成グループ(ライセンス). provided by php spot. マニュアル: