复制代码 代码如下:
/**
* 记录和统计时间(微秒)和内存使用情况
* 使用方法:
* <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();
}
}
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:)!