zoukankan      html  css  js  c++  java
  • PHP性能之语言性能优化说明

    PHP语言性能优化优化啥?

      如下图所示,PHP直接执行的是opcode,所以我们尽量减少扫描和转码解析。

      

      这是我们第一个优化点,尽量使用PHP内置的函数代替我们的代码来实现同样的功能。

      和我们自己写的代码一样,PHP本身内置了很多函数,所以实现同一个功能我们可以使用多个内置函数来实现,那么是不是内置函数也会有性能区别呢?

      答案当时是肯定的,因为每个函数的运行量不同(类似我们的代码,实现一个功能,使用10行代码和使用100行代码会有一定的时间差),生成的opcode也不一样。这就是我们优化的第二个点,我们在使用内置函数的同时,需要选择正确的内置函数

      还有其他的优化点在后续的文章有说明,这里不多赘述了。

     

    PHP内置的函数该怎么选择?

      PHP内置的函数有上千个,我们怎么选择那个是我们项目最需要的确实是比较麻烦的事情。平常一定需要熟悉常用的函数:处理字符串的,处理数组的,处理数据库的。(对于常用的函数,我后面会专门写相关的专题来对比)

    怎么测试耗时?

      1、使用microtime()函数,该方法用在某段程序的耗时。下面是简单的获取时间的函数,需要在运行前断一下和运行结束断一下。

    function current_time(){
        list($usecond,$second) = explode(" ", microtime());
        return ((float)$usecond+(float)$second);
    }

      2、使用linux自带的time命令,该方法可以用在整个PHP文件的运行耗时。命令可以看到程序运行的系统时间,程序消耗时间(user)很真实时间。

      

      上图显示耗时12毫秒。

    题外话:测试一下Apache和Nginx的性能

    请求100次,每次并行100个请求。左边是Apache,右边是Nginx。

      Apache Nginx
    每秒请求量 4.32 4415.99

    每个请求耗时(ms) 

    231.562 0.226 


     

      

      文章为作者学习所得,有纰漏,请留言指出,谢谢支持!转载请附上本文章的连接

  • 相关阅读:
    hdu 5918(强行水过去..正解KMP)
    hdu 5914(斐波拉契数列)
    hdu 5912(迭代+gcd)
    bzoj 2819(DFS序+树状数组+博弈+lca)
    BestCoder #88(1001 1002)
    hdu 5468(dfs序+容斥原理)
    hdu 5692(dfs序+线段树,好题)
    dfs序题目练习
    csu 1806 & csu 1742 (simpson公式+最短路)
    LuoGuP3774:[CTSC2017]最长上升子序列
  • 原文地址:https://www.cnblogs.com/miao-zp/p/6370889.html
Copyright © 2011-2022 走看看