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


Posted in PHP onMarch 13, 2014
/**
 * 记录和统计时间(微秒)和内存使用情况
 * 使用方法:
 * <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();
    }
}
PHP 相关文章推荐
第七节 类的静态成员 [7]
Oct 09 PHP
实时抓取YAHOO股票报价的代码
Oct 09 PHP
一些被忽视的PHP函数(简单整理)
Apr 30 PHP
探讨GDFONTPATH能否被winxp下的php支持
Jun 21 PHP
PHP中获取时间的下一周下个月的方法
Mar 18 PHP
详解PHP导入导出CSV文件
Nov 03 PHP
PHP中strnatcmp()函数“自然排序算法”进行字符串比较用法分析(对比strcmp函数)
Jan 07 PHP
php中foreach结合curl实现多线程的方法分析
Sep 22 PHP
PHP 获取指定地区的天气实例代码
Feb 08 PHP
Laravel find in set排序实例
Oct 09 PHP
Laravel 类和接口注入相关的代码
Oct 15 PHP
解决php扩展安装不生效问题
Oct 25 PHP
去除php注释和去除空格函数分享
Mar 13 #PHP
支持中文和其他编码的php截取字符串函数分享(截取中文字符串)
Mar 13 #PHP
zf框架的数据库追踪器使用示例
Mar 13 #PHP
zf框架的校验器InArray使用示例
Mar 13 #PHP
zf框架的session会话周期及次数限制使用示例
Mar 13 #PHP
zf框架的registry(注册表)使用示例
Mar 13 #PHP
zf框架的Filter过滤器使用示例
Mar 13 #PHP
You might like
PHP代码保护--Zend Guard的使用详解
2013/06/03 PHP
PHP简单实现遍历目录下特定文件的方法小结
2017/05/22 PHP
TNC vs IO BO3 第一场2.13
2021/03/10 DOTA
FormValid0.5版本发布,带ajax自定义验证例子
2007/08/17 Javascript
通过JavaScript控制字体大小的代码
2011/10/04 Javascript
jquery实现marquee效果(文字或者图片的水平垂直滚动)
2013/01/07 Javascript
解析javascript系统错误:-1072896658的解决办法
2013/07/08 Javascript
open 动态修改img的onclick事件示例代码
2013/11/13 Javascript
用JS实现轮播图效果(二)
2016/06/26 Javascript
JSON键值对序列化和反序列化解析
2017/01/24 Javascript
vue学习笔记之vue1.0和vue2.0的区别介绍
2017/05/17 Javascript
微信小程序 websocket 实现SpringMVC+Spring+Mybatis
2017/08/04 Javascript
vue 的点击事件获取当前点击的元素方法
2018/09/15 Javascript
JavaScript中十种一步拷贝数组的方法实例详解
2019/04/22 Javascript
将RGB值转换为灰度值的简单算法
2019/10/09 Javascript
js实现简单进度条效果
2020/03/25 Javascript
利用H5api实现时钟的绘制(javascript)
2020/09/13 Javascript
vue 如何使用递归组件
2020/10/23 Javascript
[48:18]DOTA2-DPC中国联赛 正赛 RNG vs Dynasty BO3 第二场 1月29日
2021/03/11 DOTA
介绍Python中内置的itertools模块
2015/04/29 Python
Python 基础之字符串string详解及实例
2017/04/01 Python
Python 多进程、多线程效率对比
2020/11/19 Python
Python操作PostgreSql数据库的方法(基本的增删改查)
2020/12/29 Python
深入解析HTML5的IndexedDB索引数据库
2015/09/14 HTML / CSS
联想中国官方商城:Lenovo China
2017/10/18 全球购物
介绍一下如何优化MySql
2016/12/20 面试题
婚礼新郎父母答谢词
2014/01/16 职场文书
六查六看剖析材料
2014/02/15 职场文书
办公室主任职责范本
2014/03/07 职场文书
工程力学专业自荐信范文
2014/03/17 职场文书
电子商务优秀毕业生求职信
2014/07/11 职场文书
2014年监理工作总结范文
2014/11/17 职场文书
网络销售员岗位职责
2015/04/11 职场文书
2015年中秋晚会主持词
2015/07/01 职场文书
社会实践心得体会范文
2016/01/14 职场文书
java基础——多线程
2021/07/03 Java/Android