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 相关文章推荐
一个PHP日历程序
Dec 06 PHP
PHP mkdir()定义和用法
Jan 14 PHP
PHP文件读写操作之文件写入代码
Jan 13 PHP
鸡肋的PHP单例模式应用详解
Jun 03 PHP
PHP+MySQL统计该库中每个表的记录数并按递减顺序排列的方法
Feb 15 PHP
php下载文件,添加响应头的简单实例
Sep 22 PHP
php获得文件夹下所有文件的递归算法的简单实例
Nov 01 PHP
PHP中获取文件创建日期、修改日期、访问时间的方法
Nov 05 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
Sep 22 PHP
ThinkPHP框架中使用Memcached缓存数据的方法
Mar 31 PHP
PHP共享内存使用与信号控制实例分析
May 09 PHP
PHP从零开始打造自己的MVC框架之入口文件实现方法详解
Jun 03 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静态类
2006/11/25 PHP
一个简单php扩展介绍与开发教程
2010/08/19 PHP
基于PHP导出Excel的小经验 完美解决乱码问题
2013/06/10 PHP
CodeIgniter扩展核心类实例详解
2016/01/20 PHP
PHP实现通过strace定位故障原因的方法
2018/04/29 PHP
PHP中16个高危函数整理
2019/09/19 PHP
ExtJS 2.0实用简明教程 之Border区域布局
2009/04/29 Javascript
javascript 时间比较实现代码
2009/10/28 Javascript
web网页按比例显示图片实现原理及js代码
2013/08/09 Javascript
使用angularjs创建简单表格
2016/01/21 Javascript
js老生常谈之this,constructor ,prototype全面解析
2016/04/05 Javascript
两行代码轻松搞定JavaScript日期验证
2016/08/03 Javascript
JS自定义函数对web前端上传的文件进行类型大小判断
2016/10/19 Javascript
web前端页面生成exe可执行文件的方法
2018/02/08 Javascript
JavaScript复制内容到剪贴板的两种常用方法
2018/02/27 Javascript
Vue中使用ElementUI使用第三方图标库iconfont的示例
2018/10/11 Javascript
vue动态配置模板 'component is'代码
2019/07/04 Javascript
Python爬虫辅助利器PyQuery模块的安装使用攻略
2016/04/24 Python
python生成excel的实例代码
2017/11/08 Python
Windows下安装Django框架的方法简明教程
2018/03/28 Python
django自带的server 让外网主机访问方法
2018/05/14 Python
解决pycharm每次打开项目都需要配置解释器和安装库问题
2020/02/26 Python
is_file和file_exists效率比较
2021/03/14 PHP
学校司机岗位职责
2013/11/14 职场文书
承认错误的检讨书
2014/01/30 职场文书
学生打架检讨书
2014/02/14 职场文书
《登鹳雀楼》教学反思
2014/04/09 职场文书
租房协议书
2014/09/12 职场文书
大学生见习期满自我鉴定
2014/09/13 职场文书
2014年九一八事变演讲稿
2014/09/14 职场文书
租车协议书范本2014
2014/11/17 职场文书
父母教会我观后感
2015/06/17 职场文书
2016年清明节寄语
2015/12/04 职场文书
QT与javascript交互数据的实现
2021/05/26 Javascript
MySQL 数据库范式化设计理论
2022/04/22 MySQL
利用Python实时获取steam特惠游戏数据
2022/06/25 Python