使用xhprof分析php代码性能
推荐在Linux平台使用xhprof,win下xhprof目前稳定版本在php5.5
安装xhprof
下载地址 http://pecl.php.net/get/xhprof-0.9.4.tgz
与php其他扩展安装方式一致 见:http://www.cnblogs.com/web21/p/6007318.html
配置php.ini
[xhprof]
extension=php_xhprof.dll
xhprof.output_dir=/tmp ;;设置性能分析数据存放位置
测试代码
<?php
// Created by YangShaoXiang on 2016/11/24.
/*
* 结果类似如下...
* [main()==>str_repeat] => Array(
- [ct] => 999 //str_repeat这个函数被调用了999次
- [wt] => 201 //每次运行str_repeat所要的时间,不知道这个是不是平均值
- [cpu] => 0 //每次运行str_repeat,cpu运算时间
- [mu] => 520904 //每次运行str_repeat,php所使用内存的改变
- [pmu] => 512104 //每次运行str_repeat,php在内存使用最高峰时,所使用内存的改变
* )
...
*/
xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);
for ($byte = 1; $byte < 1000; $byte++) {
$arr[] = str_repeat('=', $byte);
test(1, 5);
}
function test($v1, $v2)
{
return $v1 * $v2;
}
$xhp_data = xhprof_disable();
print_r($xhp_data);
- [ct] => 5 //bar()这个函数被调用了5次
- [wt] => 63 //每次运行bar()所要的时间,不知道这个是不是平均值
- [cpu] => 0 //每次运行bar(),cpu运算时间
- [mu] => 2860 //每次运行bar(),php所使用内存的改变
- [pmu] => 0 //每次运行bar(),php在内存使用最高峰时,所使用内存的改变
使用xhprof分析php代码性能的更多相关文章
- 使用xhprof分析php性能
今天偶然发现 xhprof可以远程分析php代码性能,大致步骤如下 1. 进入 xhprof , 点击右上角注册 并 登陆, 网站左侧解释了如何在本地安装测试xhprof, 我用的是右侧的图表模式, ...
- 11个Visual Studio代码性能分析工具
软件开发中的性能优化对程序员来说是一个非常重要的问题.一个小问题可能成为一个大的系统的瓶颈.但是对于程序员来说,通过自身去优化代码是十分困难的.幸运的是,有一些非常棒的工具可以帮助程序员进行代码分析和 ...
- .NET : 使用代码性能分析工具
NET : CLR Profiler的使用 经常讲课的时候会提到值类型和引用类型,也会提到如何查看它们的大小.多次被朋友问到,如何真的想要知道到底每个方法分配了多少内存之类的问题,其实这可以通过CLR ...
- .NET 11 个 Visual Studio 代码性能分析工具
原文地址 软件开发中的性能优化对程序员来说是一个非常重要的问题.一个小问题可能成为一个大的系统的瓶颈.但是对于程序员来说,通过自身去优化代码是十分困难的.幸运的是,有一些非常棒的工具可以帮助程序员进行 ...
- 11 个 Visual Studio 代码性能分析工具
软件开发中的性能优化对程序员来说是一个非常重要的问题.一个小问题可能成为一个大的系统的瓶颈.但是对于程序员来说,通过自身去优化代码是十分困难的.幸运的是,有一些非常棒的工具可以帮助程序员进行代码分析和 ...
- 使用XHProf分析PHP性能瓶颈(一)
安装xhprof扩展 wget http://pecl.php.net/get/xhprof-0.9.4.tgz tar zxf xhprof-0.9.4.tgz cd xhprof-0.9.4/ex ...
- [转] Python 代码性能优化技巧
选择了脚本语言就要忍受其速度,这句话在某种程度上说明了 python 作为脚本的一个不足之处,那就是执行效率和性能不够理想,特别是在 performance 较差的机器上,因此有必要进行一定的代码优化 ...
- Python代码性能优化技巧
摘要:代码优化能够让程序运行更快,可以提高程序的执行效率等,对于一名软件开发人员来说,如何优化代码,从哪里入手进行优化?这些都是他们十分关心的问题.本文着重讲了如何优化Python代码,看完一定会让你 ...
- Python 代码性能优化技巧(转)
原文:Python 代码性能优化技巧 Python 代码优化常见技巧 代码优化能够让程序运行更快,它是在不改变程序运行结果的情况下使得程序的运行效率更高,根据 80/20 原则,实现程序的重构.优化. ...
随机推荐
- 解决Onedrive经常无法访问的问题
在国内经常因为各种原因访问不了OneDrive的访问,可以通过下面的方式解决 添加两个DNS记录到hosts文件(C:\Windows\System32\drivers\etc) 134.170.10 ...
- 窥探Swift之基本数据类型
在上一篇博客“窥探Swift编程之在Playground上尽情的玩耍”中介绍了如何使用Playground来学习Swift语言.本篇博客就使用Playground来窥探Swift语言.千里之行始于足下 ...
- 我的Objective-C系列文章
做iOS开发有一段时间了,也有自己上线的App产品,也在坚持着发表技术博客总结自己所学的东西.在写博客的时候虽然博文中不免有错别字,但每句话都是在斟酌之后所写的,每篇博客所粘贴的代码都是经过调试运行无 ...
- 出操队形(LIS)
题目来源:微策略2013年校园招聘面试一面试题 题目描述: 在读高中的时候,每天早上学校都要组织全校的师生进行跑步来锻炼身体,每当出操令吹响时,大家就开始往楼下跑了,然后身高矮的排在队伍的前面,身高较 ...
- DDD 领域驱动设计-看我如何应对业务需求变化,领域模型调整?
写在前面 上一篇:DDD 领域驱动设计-看我如何应对业务需求变化,愚蠢的应对? "愚蠢的应对",这个标题是我后来补充上的,博文中除了描述需求变化.愚蠢应对和一些思考,确实没有实质性 ...
- 移动端用js与jquery实时监听输入框值的改动
背景: 在一次移动端H5开发中,需要监听输入框值的实时变动. onchange事件肯定抛弃,因为只能失去焦点才触发. 而keyPress在Android可以触发,iOS不可以. 又不想用Android ...
- 【LeetCode】Increasing Triplet Subsequence(334)
1. Description Given an unsorted array return whether an increasing subsequence of length 3 exists o ...
- iis7.0上发布mvc4.0网站
步骤如下: 1.右击需要发布的项目,在弹出的菜单中选择“发布...”选项 2.在“发布web”对话框中进行设置,配置文件名称默认为“配置文件1”可以修改为需要的名字,以便识别,也可以不改.发布方法选择 ...
- webmagic的设计机制及原理-如何开发一个Java爬虫
之前就有网友在博客里留言,觉得webmagic的实现比较有意思,想要借此研究一下爬虫.最近终于集中精力,花了三天时间,终于写完了这篇文章.之前垂直爬虫写了一年多,webmagic框架写了一个多月,这方 ...
- winform只允许一个应用程序运行 2014-12-08 09:51 31人阅读 评论(0) 收藏
使用互斥体Mutex类型 导入命名空间 using System.Threading; //声明互斥体 Mutex mutex = new Mutex(false, "ThisShouldO ...