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下使用无限生命期Session的方法
Mar 16 PHP
对squid中refresh_pattern的一些理解和建议
Apr 17 PHP
php 操作调试的方法
Jul 12 PHP
PHP header()函数使用详细(301、404等错误设置)
Apr 17 PHP
Apache服务器无法使用的解决方法
May 08 PHP
php读取图片内容并输出到浏览器的实现代码
Aug 08 PHP
五款PHP代码重构工具推荐
Oct 14 PHP
ThinkPHP中RBAC类的四种用法分析
Nov 24 PHP
PHP实现简单汉字验证码
Jul 28 PHP
PHP Echo字符串的连接格式
Mar 07 PHP
PHP5.0~5.6 各版本兼容性cURL文件上传功能实例分析
May 11 PHP
php使用自带dom扩展进行元素匹配的原理解析
May 29 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压缩HTML函数轻松实现压缩html/js/Css及注意事项
2013/01/27 PHP
php ZipArchive压缩函数详解实例
2013/11/06 PHP
Laravel框架中扩展函数、扩展自定义类的方法
2014/09/04 PHP
js常用函数 不错
2006/09/08 Javascript
收藏一些不常用,但是有用的代码
2007/03/12 Javascript
动态创建的表格单元格中的事件实现代码
2008/12/30 Javascript
Javascript在IE或Firefox下获取鼠标位置的代码
2009/12/18 Javascript
JS长整型精度问题实例分析
2015/01/13 Javascript
JS模仿腾讯图片站的图片翻页按钮效果完整实例
2016/06/21 Javascript
利用vue + koa2 + mockjs模拟数据的方法教程
2017/11/22 Javascript
vue todo-list组件发布到npm上的方法
2018/04/04 Javascript
快速搭建vue2.0+boostrap项目的方法
2018/04/09 Javascript
Vue 重置组件到初始状态的方法示例
2018/10/10 Javascript
详解js访问对象的属性和方法
2018/10/25 Javascript
详解微信小程序缓存--缓存时效性
2019/05/02 Javascript
js 获取本周、上周、本月、上月、本季度、上季度的开始结束日期
2020/02/01 Javascript
vue实现选中效果
2020/10/07 Javascript
pip matplotlib报错equired packages can not be built解决
2018/01/06 Python
python aiohttp的使用详解
2019/06/20 Python
Python定时任务随机时间执行的实现方法
2019/08/14 Python
python中把元组转换为namedtuple方法
2020/12/09 Python
通过一张图教会你CSS3倒影的实现
2017/09/26 HTML / CSS
丝芙兰美国官网:SEPHORA美国
2016/08/03 全球购物
尤妮佳moony海外旗舰店:日本殿堂级纸尿裤品牌
2018/02/23 全球购物
固特异美国在线轮胎店:Goodyear Tire
2019/02/23 全球购物
Nebula美国官网:便携式投影仪
2019/03/15 全球购物
伊莱克斯阿根廷网上商店:Tienda Electrolux
2021/03/08 全球购物
全球异乡人的跨境社交电商平台:Kouhigh口嗨网
2020/07/24 全球购物
硕士研究生自我鉴定
2013/11/08 职场文书
工作时间上网检讨书
2014/02/03 职场文书
幼儿园毕业典礼主持词
2014/03/21 职场文书
清明祭英烈活动总结
2015/05/11 职场文书
刑事案件上诉状
2015/05/23 职场文书
SQL Server 数据库实验课第五周——常用查询条件
2021/04/05 SQL Server
Centos环境下Postgresql 安装配置及环境变量配置技巧
2021/05/18 PostgreSQL
Python编写车票订购系统 Python实现快递收费系统
2022/08/14 Python