用PEAR::Benchmarking之Timer实现PHP程序计时[1]

[入库:2005年8月19日] [更新:2007年3月25日]

本文简介:选择自 ccterran 的 blog

我们经常在系统程序调试时需要记录运行时间,以观察程序运行的效率问题,或者对多种实现方法进行比较,一个好的计时器就不可或缺了.pear中的benchmarking_timer就是一个可以计算任意两点之间时间差的类.

下载
你可以从 http://pear.php.net/package/benchmark/download 下载benchmarking框架,然后取出其中的time.php,把它放在和pear.php同级目录下.然后再建一个文件index.php,供测试用.

第一个程序
在index.php里写入
<?php
//@author:iwind

//包含类文件
require "timer.php";

//创建一个对象
$timer = new benchmark_timer();

//计时开始
$timer->start();

//测试的一段脚本
for ($i=0; $i<1000; $i++)
{
//we do nothing here
}

//设置标记
$timer->setmarker("mark1");

//输出两点之间的用时
echo $timer->timeelapsed("start", "mark1");
?>

然后执行之,就可以得到0.000543这样的结果,大致为从开始到mark1点之间的耗时.

类方法

方法:benchmark_timer( [mixed $auto = false])
描述:构造器,开始计时器记录.
参数:boolean $auto,缺省为false,如果设定为true的话,则会自动打印计时器结果.形如下表

  time index ex time %
start 1099020859.80505200 - 0.00%
stop 1099020859.80595000 0.000898 100.00%
total - 0.000898 100.00%

分别列出开始/终止的时间索引,与上一标记之间的运行时间,与上一标记之间的运行时间占总耗时的百分比(所以stop点一直为100%),以及总耗时.


方法: display( )
描述:打印由getoutput方法返回的信息.
形如下表:

  time index ex time %
start 1099021292.32145600 - 0.00%
mark1 1099021292.32202000 0.000564 46.38%
mark2 1099021292.32209700 0.000077 6.33%
stop 1099021292.32267200 0.000575 47.29%
total - 0.001216 100.00%

本文关键:用PEAR::Benchmarking之Timer实现PHP程序计时
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top