php代码性能分析方法

1.用到的函数

microtime()  ,函数返回当前 Unix 时间戳和微秒数,本函数以 "msec sec" 的格式返回一个字符串,其中 sec 是自 Unix 纪元(0:00:00 January 1, 1970 GMT)起到现在的秒数,msec 是微秒部分。字符串的两部分都是以秒为单位返回的
memory_get_usage()  ,函数返回内存使用量,还可以有个参数,$real_usage,其值为布尔值。如果设置为 TRUE,获取系统分配的真实内存尺寸。如果未设置或者设置为 FALSE,将是 emalloc() 报告使用的内存量,单位为 byte(s),函数需要在Linux上运行。

其他相关函数:

unset   清除变量的内存占用
mysql_free_result($result)    $result 为 $result = mysql_query($sql,$con);
memory_get_peak_usage()        函数返回内存使用峰值,函数需要在Linux上运行
getrusage()   返回CUP使用情况,函数需要在Linux上运行    

2.实例代码

//将可以将memory_get_usage()函数返回的byte为单位的内存使用量,转化为M为单位,本例子中没有用

function memory_usage() {

   $memory = ( ! function_exists(‘memory_get_usage‘)) ? ‘0‘ : round(memory_get_usage()/1024/1024, 2).‘MB‘;

return $memory;

}

//得到加上微妙在内的准确的时间戳function microtime_float()

{

   list($usec, $sec) = explode(" ", microtime());

   return ((float)$usec + (float)$sec);

}

class t{

    static $start_time;

    static $end_time;

    static $start_memory;

    static $end_memory;

    public static function start()

    {

        self::$start_memory = memory_get_usage();  //单位为 byte(s)

        self::$start_time = microtime_float();

        echo ‘<br/>Start @‘.self::$start_time.‘(‘.self::$start_memory.‘)|------->‘;

    }

    public static function end()

    {

        self::$end_time = microtime_float();

        self::$end_memory = memory_get_usage();

        echo ‘End @‘.self::$end_time.‘(‘.self::$end_memory.‘) :‘;

        echo ‘|======= 共耗时:‘.(self::$end_time-self::$start_time).‘,共用内存:‘.(self::$end_memory-self::$start_memory);

    }

}

//消除t类首次加载的影响
  t::start();
  t::end();


t::start();
   $str = "我来到你的城市走过你来时的路,想象着没我的日子你是怎样的孤独";
   t::end();

显示结果:

Start @1447408386.0921(242528)|------->End @1447408386.0922(242720) :|======= 共耗时:3.6001205444336E-5,共用内存:192
   Start @1447408386.0922(242720)|------->End @1447408386.0922(242856) :|======= 共耗时:5.0067901611328E-6,共用内存:136

时间: 2024-11-10 08:25:47

php代码性能分析方法的相关文章

Visual Studio代码性能分析工具

AMD CodeXL 2011年发布的AMD CodeAnalyst Performance Analyzer 现在已经被AMD CodeXL所替代.AMD CodeXL的主要目的是帮助开发者更好利用CPU, GPU和APU的计算性能,具有强大的GPU调试.CPU和GPU代码分析.及静态的OpenCL内核性能分析等能力. AMD提供了支持Windows 7.Windows 8和Linux系统的单机版CodeXL分析工具.在Visual Studio 2010,2012和2013上也有AMD Co

11个Visual Studio代码性能分析工具

软件开发中的性能优化对程序员来说是一个非常重要的问题.一个小问题可能成为一个大的系统的瓶颈.但是对于程序员来说,通过自身去优化代码是十分困难的.幸运的是,有一些非常棒的工具可以帮助程序员进行代码分析和性能测试,从而大大简化程序员进行代码性能优化的过程.MSDN杂志2011年7月份曾发布主题为“.NET代码分析工具和技术”的那一期,让广大程序员收获颇丰.四年过去之后,这些工具又进一步做出了很多改进,同时也出现了更多的选择.本文对当前主流的一些Visual Studio代码性能分析工具进行简单的梳理

11 个 Visual Studio 代码性能分析工具

软件开发中的性能优化对程序猿来说是一个很重要的问题. 一个小问题可能成为一个大的系统的瓶颈. 可是对于程序猿来说.通过自身去优化代码是十分困难的.幸运的是.有一些很棒的工具能够帮助程序猿进行代码分析和性能測试,从而大大简化程序猿进行代码性能优化的过程.MSDN 杂志 2011 年 7 月份曾公布主题为".NET 代码分析工具和技术"的那一期.让广大程序猿收获颇丰.四年过去之后,这些工具又进一步做出了非常多改进,同一时候也出现了很多其它的选择.很多其它应用代码安全工具请点击:http:/

代码性能分析

代码性能优化 优化是对代码进行等价变换,使得变换后的代码运行结果与变换前的代码运行结果相同,但执行速度加快或存储开销减少. 代码性能优化是一门复杂的学问. 根据 80/20 原则,实现程序的重构.优化.扩展以及文档相关的事情通常需要消耗80% 的工作量. 在满足正确性.可靠性.健壮性.可读性等质量因素的前提下,设法提高程序的效率 以提高程序的全局效率为主,提高局部效率为辅 在优化程序效率时,应先找出限制效率的“瓶颈” 先优化数据结构和算法,再优化执行代码 时间效率和空间效率可能是对立的,应当分析

Android APP性能分析方法及工具

近期读到<Speed up your app>一文.这是一篇关于Android APP性能分析.优化的文章.在这篇文章中,作者介绍他的APP分析优化规则.使用的工具和方法.我觉得值得大家借鉴.英文好的读者可读原文(链接:http://blog.udinic.com/2015/09/15/speed-up-your-app). 1.作者的规则 作者每次着手处理或寻找性能问题时,遵循下列规则: 时常检测 在更新APP前后,用测试工具软件多检测几次APP性能,可快速得到测试数据.这些数字是不会说谎的

使用 profile 进行python代码性能分析

定位程序性能瓶颈 对代码优化的前提是需要了解性能瓶颈在什么地方,程序运行的主要时间是消耗在哪里,对于比较复杂的代码可以借助一些工具来定位,python 内置了丰富的性能分析工具,如 profile,cProfile 与 hotshot 等.其中 Profiler 是 python 自带的一组程序,能够描述程序运行时候的性能,并提供各种统计帮助用户定位程序的性能瓶颈.Python 标准模块提供三种 profilers:cProfile,profile 以及 hotshot. profile 的使用

性能测试(五)性能分析方法

影响软件应用性能的因素有很多,下面简单介绍下其中几种影响因素及分析方法.     ----参考书籍<软件性能测试过程详解与案例剖析> 有关于Windows和linux系统的性能计数器,大家可参考虫师的博客:http://www.cnblogs.com/fnng/archive/2012/10/30/2747246.html 一.内存分析 内存的使用情况是系统性能中重要的因素之一,频繁的页交换及内存泄露都会影响到系统的性能(这里主要以Windows系统为主). 内存分析用于判断系统有无遇到内存瓶

性能分析方法

1.内存分析方法 内存分析方法主要是用于判断系统有无遇到内存瓶颈,是否需要通过增加内存等手段提高系统性能表现.主要计数器包括Memory和Physical Disk类别的计数器 内存分析的主要步骤和方法如下: (1) 首先查看Memory\Available Mbytes指标 该值是用于描述系统可用内存的直接指标,在对系统进行操作系统级别的内存分析时,首先应通过该值建立一个初步的印象,了解性能系统测试过程中,系统是否仍然有足够的内存可用. 如果该指标的数据比较小,系统可能出现了内存方面的问题,此

提高php代码性能的方法

1.用单引号代替双引号来包含字符串,这样做会更快一些.因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会 2.如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍 3.$row['id'] 的速度是$row[id]的7倍 4.echo 比 print 快,并且使用echo输出时用逗号而不是句点代替字符串连接效率更高,比如 echo $str1,$str2. 5.及时注销那些不用的变量,尤其是大数组,对象之类的,以便释放内存 6.include和require