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 相关文章推荐
javascript,php获取函数参数对象的代码
Feb 03 PHP
php 数组的指针操作实现代码
Feb 08 PHP
php自动获取字符串编码函数mb_detect_encoding
May 31 PHP
php和javascript之间变量的传递实现代码
Dec 19 PHP
php Hex RGB颜色值互换的使用
May 10 PHP
关于PHPDocument 代码注释规范的总结
Jun 25 PHP
php上传图片存入数据库示例分享
Mar 11 PHP
PHP中使用GD库创建圆形饼图的例子
Nov 19 PHP
调用WordPress函数统计文章访问量及PHP原生计数器的实现
Mar 21 PHP
PHP运用foreach神奇的转换数组(实例讲解)
Feb 01 PHP
解决laravel上传图片之后,目录有图片,但是访问不到(404)的问题
Oct 14 PHP
tp5.0框架隐藏index.php入口文件及模块和控制器的方法分析
Feb 11 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&amp;java(二)
2006/10/09 PHP
使用PHP获取网络文件的实现代码
2010/01/01 PHP
THinkPHP获取客户端IP与IP地址查询的方法
2016/11/14 PHP
thinkPHP简单实现多个子查询语句的方法
2016/12/05 PHP
php array_reverse 以相反的顺序返回数组实例代码
2017/04/11 PHP
含有CKEditor的表单如何提交
2014/01/09 Javascript
window.returnValue使用方法示例介绍
2014/07/03 Javascript
JavaScript中Number.NEGATIVE_INFINITY值的使用详解
2015/06/05 Javascript
jquery validate demo 基础
2015/10/29 Javascript
js滚动条平滑移动示例代码
2016/03/29 Javascript
Nodejs读取文件时相对路径的正确写法(使用fs模块)
2017/04/27 NodeJs
AngularJS select设置默认值的实现方法
2017/08/25 Javascript
vue.js整合vux中的上拉加载下拉刷新实例教程
2018/01/09 Javascript
Vue插值、表达式、分隔符、指令知识小结
2018/10/12 Javascript
小程序登录态管理的方法示例
2018/11/13 Javascript
6种JavaScript继承方式及优缺点(小结)
2020/02/06 Javascript
微信小程序实现发微博功能的示例代码
2020/06/24 Javascript
python基础教程之字典操作详解
2014/03/25 Python
python中常用检测字符串相关函数汇总
2015/04/15 Python
Python中优化NumPy包使用性能的教程
2015/04/23 Python
CentOS下使用yum安装python-pip失败的完美解决方法
2017/08/16 Python
Python实现简单的语音识别系统
2017/12/13 Python
TensorFlow实现模型评估
2018/09/07 Python
对Python中内置异常层次结构详解
2018/10/18 Python
k-means 聚类算法与Python实现代码
2020/06/01 Python
Python日志打印里logging.getLogger源码分析详解
2021/01/17 Python
通往英国高街的商店橱窗:Down Your High Street
2020/07/19 全球购物
应届生.NET方向面试题
2015/05/23 面试题
房地产项目策划书
2014/02/05 职场文书
进口业务员岗位职责
2014/04/06 职场文书
入党积极分子评语
2014/05/04 职场文书
高中综合实践活动总结
2014/07/07 职场文书
初中信息技术教学计划
2015/01/22 职场文书
初中班主任教育随笔
2015/08/15 职场文书
利用Python第三方库实现预测NBA比赛结果
2021/06/21 Python
Win11局域网共享权限在哪里设置? Win11高级共享的设置技巧
2022/04/05 数码科技