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 相关文章推荐
一个程序下载的管理程序(二)
Oct 09 PHP
php !function_exists(&quot;T7FC56270E7A70FA81A5935B72EACBE29&quot;))代码解密
Jan 07 PHP
php在文件指定行中写入代码的方法
May 23 PHP
使用php+apc实现上传进度条且在IE7下不显示的问题解决方法
Apr 25 PHP
PHP多线程编程之管道通信实例分析
Mar 07 PHP
php远程下载类分享
Apr 13 PHP
WordPress中的shortcode短代码功能使用详解
May 17 PHP
php版微信小店API二次开发及使用示例
Nov 12 PHP
Linux下快速搭建php开发环境
Mar 13 PHP
php微信开发之谷歌测距
Jun 14 PHP
PHP树形结构tree类用法示例
Feb 01 PHP
Yii 框架入口脚本示例分析
May 19 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中操作MySQL数据库的一些要注意的问题
2006/10/09 PHP
thinkPHP多域名情况下使用memcache方式共享session数据的实现方法
2016/07/21 PHP
你不知道的文件上传漏洞php代码分析
2016/09/29 PHP
JavaScript 解析读取XML文档 实例代码
2009/07/07 Javascript
js 实现无干扰阴影效果 简单好用(附文件下载)
2009/12/27 Javascript
IE和Firefox的Javascript兼容性总结[推荐收藏]
2011/10/19 Javascript
设为首页和收藏的Javascript代码(亲测兼容IE,Firefox,chrome等浏览器)
2013/11/18 Javascript
js父窗口关闭时子窗口随之关闭完美解决方案
2014/04/29 Javascript
JSP中使用JavaScript动态插入删除输入框实现代码
2014/06/13 Javascript
理解javascript闭包
2015/12/15 Javascript
JS获取本周周一,周末及获取任意时间的周一周末功能示例
2017/02/09 Javascript
简单的vue-resourse获取json并应用到模板示例
2017/02/10 Javascript
脚本div实现拖放功能(两种)
2017/02/13 Javascript
node.js 发布订阅模式的实例
2017/09/10 Javascript
js实现二级菜单点击显示当前内容效果
2018/04/28 Javascript
基于React Native 0.52实现轮播图效果
2020/08/25 Javascript
使用webpack4编译并压缩ES6代码的方法示例
2019/04/24 Javascript
分析python服务器拒绝服务攻击代码
2014/01/16 Python
用python登录Dr.com思路以及代码分享
2014/06/25 Python
python strip() 函数和 split() 函数的详解及实例
2017/02/03 Python
分享vim python缩进等一些配置
2018/07/02 Python
Python使用Shelve保存对象方法总结
2019/01/28 Python
Python(PyS60)实现简单语音整点报时
2019/11/18 Python
python日期与时间戳的各种转换示例
2020/02/12 Python
keras模型保存为tensorflow的二进制模型方式
2020/05/25 Python
Python logging模块异步线程写日志实现过程解析
2020/06/30 Python
TIME时代杂志台湾总代理:台时亚洲
2018/10/22 全球购物
欧洲领先的技术商店:eibmarkt.com
2019/05/10 全球购物
李维斯法国官网:Levi’s法国
2019/07/13 全球购物
面向对象编程是如何提高软件开发水平的
2014/05/06 面试题
教师先进工作者事迹材料
2014/05/01 职场文书
收款委托书
2014/10/14 职场文书
临床医学生职业规划书范文
2014/10/25 职场文书
2015年为民办实事工作总结
2015/05/26 职场文书
详解Js模块化的作用原理和方案
2021/04/29 Javascript
Oracle 11g数据库使用expdp每周进行数据备份并上传到备份服务器
2022/06/28 Oracle