php统计时间和内存使用情况示例分享

php统计时间和内存使用情况示例分享

这篇文章主要介绍了php统计时间和内存使用情况示例,大家直接调用下面的方法就可以使用,需要的朋友可以参考下

代码如下:

/**

* 记录和统计时间(微秒)和内存使用情况

* 使用方法:

* <code>

* G('begin'); // 记录开始标记位

* // ... 区间运行代码

* G('end'); // 记录结束标签位

* echo G('begin','end',6); // 统计区间运行时间 精确到小数后6位

* echo G('begin','end','m'); // 统计区间内存使用情况

* 如果end标记位没有定义,则会自动以当前作为标记位

* 其中统计内存使用需要 MEMORY_LIMIT_ON 常量为true才有效

* </code>

* @param string $start 开始标签

* @param string $end 结束标签

* @param integer|string $dec 小数位或者m

* @return mixed

*/

function G($start,$end='',$dec=4) {

static $_info = array();

static $_mem = array();

if(is_float($end)) { // 记录时间

$_info[$start] = $end;

}elseif(!empty($end)){ // 统计时间和内存使用

if(!isset($_info[$end])) $_info[$end] = microtime(TRUE);

if(MEMORY_LIMIT_ON && $dec=='m'){

if(!isset($_mem[$end])) $_mem[$end] = memory_get_usage();

return number_format(($_mem[$end]-$_mem[$start])/1024);

}else{

return number_format(($_info[$end]-$_info[$start]),$dec);

}

}else{ // 记录时间和内存使用

$_info[$start] = microtime(TRUE);

if(MEMORY_LIMIT_ON) $_mem[$start] = memory_get_usage();

}

}