精确计算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;
}
}
简单计算运行的函数,精确到微秒
运行时间尽可能长一些。要不然时间太小环境影响比程序大。
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();
?>
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
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28