> 백엔드 개발 > PHP 튜토리얼 > php统计时间和内存使用情况示例分享_PHP

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

WBOY
풀어 주다: 2016-06-01 11:55:36
원래의
961명이 탐색했습니다.

复制代码 代码如下:
/**
 * 记录和统计时间(微秒)和内存使用情况
 * 使用方法:
 * <br> * G('begin'); // 记录开始标记位<br> * // ... 区间运行代码<br> * G('end'); // 记录结束标签位<br> * echo G('begin','end',6); // 统计区间运行时间 精确到小数后6位<br> * echo G('begin','end','m'); // 统计区间内存使用情况<br> * 如果end标记位没有定义,则会自动以当前作为标记位<br> * 其中统计内存使用需要 MEMORY_LIMIT_ON 常量为true才有效<br> *
 * @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();
    }
}

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿