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边学边教》(02.Apache+PHP环境配置――上篇)
Dec 13 PHP
PHP一些常用的正则表达式字符的一些转换
Jul 29 PHP
PHP的单引号和双引号 字符串效率
May 27 PHP
黑夜路人出的几道php笔试题
Aug 04 PHP
PHP 解决utf-8和gb2312编码转换问题
Mar 18 PHP
php下删除一篇文章生成的多个静态页面
Aug 08 PHP
php iconv() : Detected an illegal character in input string
Dec 05 PHP
php学习笔记 [预定义数组(超全局数组)]
Jun 09 PHP
php curl_init函数用法
Jan 31 PHP
学习php设计模式 php实现门面模式(Facade)
Dec 07 PHP
PHP中函数gzuncompress无法使用的解决方法
Mar 02 PHP
PHP实践教程之过滤、验证、转义与密码详解
Jul 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
PHP面向对象的使用教程 简单数据库连接
2006/11/25 PHP
两个开源的Php输出Excel文件类
2010/02/08 PHP
PHP下对数组进行排序的函数
2010/08/08 PHP
PHP简单获取及判断提交来源的方法
2016/04/22 PHP
PHP基于Redis消息队列实现发布微博的方法
2017/05/03 PHP
PHP实现腾讯与百度坐标转换
2017/08/05 PHP
javascript getElementsByClassName函数
2010/04/01 Javascript
jquery next nextAll nextUntil siblings的区别介绍
2013/10/05 Javascript
jQuery 获取浏览器所在的IP地址的小例子
2013/11/08 Javascript
jQuery中find()方法用法实例
2015/01/07 Javascript
JavaScript时间转换处理函数
2015/04/14 Javascript
JQuery给网页更换皮肤的方法
2015/05/30 Javascript
javascript实现网页屏蔽Backspace事件,输入框不屏蔽
2015/07/21 Javascript
JS制作图形验证码实现代码
2020/10/19 Javascript
在 Angular2 中实现自定义校验指令(确认密码)的方法
2017/01/23 Javascript
javascript编写简易计算器
2017/05/06 Javascript
vue使用中的内存泄漏【推荐】
2018/07/10 Javascript
详解js根据百度地图提供经纬度计算两点距离
2019/05/13 Javascript
JavaScript中CreateTextFile函数
2020/08/30 Javascript
[05:39]2014DOTA2西雅图国际邀请赛 淘汰赛7月14日TOPPLAY
2014/07/14 DOTA
Python matplotlib的使用并自定义colormap的方法
2018/12/13 Python
Python列表list排列组合操作示例
2018/12/18 Python
对python中词典的values值的修改或新增KEY详解
2019/01/20 Python
python实现文件的备份流程详解
2019/06/18 Python
python mysql 字段与关键字冲突的解决方式
2020/03/02 Python
Python 为什么推荐蛇形命名法原因浅析
2020/06/18 Python
详解Python中的编码问题(encoding与decode、str与bytes)
2020/09/30 Python
python语言time库和datetime库基本使用详解
2020/12/25 Python
美国环保婴儿用品公司:The Honest Company
2017/11/23 全球购物
文明生主要事迹
2014/05/25 职场文书
2014年人事科工作总结
2014/11/19 职场文书
2014工程部年度工作总结
2014/12/17 职场文书
个人事迹材料范文
2014/12/29 职场文书
2015年教师节贺卡寄语
2015/03/24 职场文书
2016学校先进集体事迹材料
2016/02/29 职场文书
Python爬虫基础之初次使用scrapy爬虫实例
2021/06/26 Python