/**<BR> * 记录和统计时间(微秒)和内存使用情况<BR> * 使用方法:<BR> * <code><BR> * G('begin'); // 记录开始标记位<BR> * // ... 区间运行代码<BR> * G('end'); // 记录结束标签位<BR> * echo G('begin','end',6); // 统计区间运行时间 精确到小数后6位<BR> * echo G('begin','end','m'); // 统计区间内存使用情况<BR> * 如果<i style="color:transparent">本¥文来源gaodai$ma#com搞$代*码*网(</i><strong>搞代gaodaima码</strong>end标记位没有定义,则会自动以当前作为标记位<BR> * 其中统计内存使用需要 MEMORY_LIMIT_ON 常量为true才有效<BR> * </code><BR> * @param string $start 开始标签<BR> * @param string $end 结束标签<BR> * @param integer|string $dec 小数位或者m <BR> * @return mixed<BR> */<BR>function G($start,$end='',$dec=4) {<BR> static $_info = array();<BR> static $_mem = array();<BR> if(is_float($end)) { // 记录时间<BR> $_info[$start] = $end;<BR> }elseif(!empty($end)){ // 统计时间和内存使用<BR> if(!isset($_info[$end])) $_info[$end] = microtime(TRUE);<BR> if(MEMORY_LIMIT_ON && $dec=='m'){<BR> if(!isset($_mem[$end])) $_mem[$end] = memory_get_usage();<BR> return number_format(($_mem[$end]-$_mem[$start])/1024); <BR> }else{<BR> return number_format(($_info[$end]-$_info[$start]),$dec);<BR> } <br><br> }else{ // 记录时间和内存使用<BR> $_info[$start] = microtime(TRUE);<BR> if(MEMORY_LIMIT_ON) $_mem[$start] = memory_get_usage();<BR> }<BR>}<BR>