Page 1 of 1

再发个计算程序运行时间的小类

Posted: 2007-06-21 10:15
by fanisky
贴上来前手工条调整过,调整的部分没有调试过,如果用的时候有解析错误,请自行调整下,顺便跟我说下最好 :twisted:

Code: Select all

<?
/*
* ===========================================*
* 项目: _time类*
* 开发: Fan*
* ===========================================*
* 介绍: 主要用于在调试中显示程序运行的时间*
* ===========================================*
* 主页: http://www.ourplus.com*
* Ourplus 网站流量统计系统 普拉斯社区*
* Copyright (c) 2004 - 2007*
* 信箱: fantasysisky@hotmail.com*
* ===========================================*
example:

$t = new _time('debug1');
$t->prefix = '';
$i = 10000;
while($i--);
$t->show('debug2');
$->showNoTag();
$->showStart();
$->nowTime();
---------
show:
debug1 to debug2 running time: 0.3234131 sec.
0.3234131 sec.
start time:(debug1): 5235242.234234 sec.
now time: 5235242.534234 sec.
*/

class _time
{
	var $prefix = '<br />';
	function _time( $flag='' ) //构造函数,开始计时并确定一个flag
	{
		if( !$this->stime > 0 )
		{
			$this->stime=microtime(true); //获取程序开始执行的时间
		}
		$this->flag = $flag;
	}

	function show( $flag='' ) //输出程序运行的时间
	{
		$etime=microtime(true); //获取程序执行结束的时间
		$total=$etime-$this->stime; //计算差值
		echo $this->prefix . "{$this->flag} to {$flag} running time: {$total} sec." . $this->prefix;
	}

	function showNoTag( ) //输出不带flag 方便输出到正式页面中使用
	{
		$etime=microtime(true);//获取程序执行结束的时间
		$total=$etime-$this->stime;   //计算差值
		echo $this->prefix . "{$total} sec." . $this->prefix;
	}

	function showStart() //输出开始计时的时间
	{
		echo $this->prefix . "start time:({$this->flag}): {$this->stime} sec." . $this->prefix;
	}

	function nowTime() //输出当前时间
	{
		$etime=microtime(true);//获取程序执行当前的时间
		echo $this->prefix . "now time: {$etime} sec." . $this->prefix;
	}

	function endTime() // 同 nowStart
	{
		$this->nowStart();
	}
}


?>