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中的类-什么叫类
Nov 20 PHP
php之XML转数组函数的详解
Jun 07 PHP
thinkphp模板输出技巧汇总
Nov 24 PHP
php动态函数调用方法
May 21 PHP
9个比较实用的php代码片段
Mar 15 PHP
PHP 的比较运算与逻辑运算详解
May 12 PHP
PHP获取当前文件的父目录方法汇总
Jul 21 PHP
php正则修正符用法实例详解
Dec 29 PHP
PHP正则匹配反斜杠'\'和美元'$'的方法
Feb 08 PHP
PHP如何读取由JavaScript设置的Cookie
Mar 22 PHP
thinkphp3.2嵌入百度编辑器ueditor的实例代码
Jul 13 PHP
PHP实现的操作数组类库定义与用法示例
May 24 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
国王的咖啡这么大来头,名字的由来是什么
2021/03/03 咖啡文化
PHP表单提交后引号前自动加反斜杠的原因及三种办法关闭php魔术引号
2015/09/30 PHP
PHP下载文件函数与用法示例
2019/09/27 PHP
extjs DataReader、JsonReader、XmlReader的构造方法
2009/11/07 Javascript
Jquery Validation插件防止重复提交表单的解决方法
2010/03/05 Javascript
jQuery EasyUI API 中文文档 - Menu菜单
2011/10/03 Javascript
实现局部遮罩与关闭原理及代码
2013/02/04 Javascript
简略说明Javascript中的= =(等于)与= = =(全等于)区别
2013/04/16 Javascript
详解js闭包
2014/09/02 Javascript
javascript实现密码强度显示
2015/03/18 Javascript
Jquery轮播效果实现过程解析
2016/03/30 Javascript
javascript判断图片是否加载完成的方法推荐
2016/05/13 Javascript
JavaScript面向对象编写购物车功能
2016/08/19 Javascript
JavaScript代码里的判断小结
2016/08/22 Javascript
angularJS自定义directive之带参方法传递详解
2018/10/09 Javascript
vue项目中使用Hbuilder打包app 设置沉浸式状态栏的方法
2018/10/22 Javascript
Vue渲染过程浅析
2019/03/14 Javascript
详解微信小程序的不同函数调用的几种方法
2019/05/08 Javascript
JS实现的简单tab切换功能完整示例
2019/06/20 Javascript
ckeditor一键排版功能实现方法分析
2020/02/06 Javascript
6种JavaScript继承方式及优缺点(小结)
2020/02/06 Javascript
Js Snowflake(雪花算法)生成随机ID的实现方法
2020/08/26 Javascript
一篇文章快速了解Python的GIL
2018/01/12 Python
pandas object格式转float64格式的方法
2018/04/10 Python
python实现学员管理系统
2019/02/26 Python
windows下numpy下载与安装图文教程
2019/04/02 Python
Keds官方网站:购买帆布运动鞋和经典皮鞋
2016/11/12 全球购物
Peter Millar官网:美国高档生活服饰品牌
2018/07/02 全球购物
自我鉴定思想方面
2013/10/07 职场文书
大学生活动总结模板
2014/07/02 职场文书
爱祖国爱家乡演讲稿
2014/09/02 职场文书
2015年服务员工作总结
2015/04/08 职场文书
幼师辞职信范文大全
2015/05/12 职场文书
导游词之鲁迅祖居
2019/10/17 职场文书
详解Mysql和Oracle之间的误区
2021/05/18 MySQL
详解Python中的for循环
2022/04/30 Python