+ -
当前位置:首页 → 问答吧 → 精确计算PHP代码运行时间的函数

精确计算PHP代码运行时间的函数

时间:2009-09-18

来源:互联网

写程序都知道要注意性能效率,但是没有测试也不能确定到底哪种最快,能快多少?所以有时候需要做简单测试。当然如果要详细测试就找专门的工具吧
简单计算运行的函数,精确到微秒
运行时间尽可能长一些。要不然时间太小环境影响比程序大。
PHP代码
/**
* 用法如下
* runtime();
* //运行一些代码
* funtime();
* //运行一些代码
* runtime('end');
* 直到传入参数end时,会输出每两次runtime()间的时间差。
*/
function runtime($mod='')
{
static $first; //首次运行时间
static $prev; //上次时间
static $str; //输出字符串
$time = explode(' ', microtime());
$curr = $time[1] . substr($time[0], 1, 7); // 1212466268.034119形式
//首次
if(!$first) {
$prev = $first = $curr+0;
//$str .= '开始:'.$first.'秒
';
}else if($mod == 'end'){
$str .= '本次: '.intval(($curr - $prev) * 100000)/100000 . '
';
//$str .= '结束: '.$curr.'秒
';
$str .= '总运行时间:'.intval(($curr - $first) * 100000)/100000 . '
';
echo $str;
}else{
$str .= '本次: '.intval(($curr - $prev) * 100000)/100000 . '
';
$prev = $curr;
}
}

作者: 钟永茂   发布时间: 2009-09-18

强大 标记
以后再来慢慢学习
目前还搞不懂

作者: hgditren   发布时间: 2009-09-18

<?php
class microtime_float{

var $Startime;
var $Endtime;

function time_float(){

list($usec,$sec)=explode(' ',microtime());
return ((float)$usec+(float)$sec);
}

function StartTime(){
return $this->Startime=$this->time_float();
}

function EndTime(){
return $this->Endtime=$this->time_float();
}

function senp(){
return round($this->EndTime()-$this->StartTime()*1000,1);

}
}

$time=new microtime_float;
$time->StartTime();

usleep(10);

$time->EndTime();

echo \"运行时间\".$time->senp();
?>

作者: 李朋09   发布时间: 2009-09-18

这么复杂呢····

作者: 香吉士   发布时间: 2009-09-18

是打扫打扫打扫的

作者: 香吉士   发布时间: 2009-09-18

DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

作者: 香吉士   发布时间: 2009-09-18

不错~~~~~~~~~~~~~~~

作者: jy02893849   发布时间: 2011-03-26