您的位置 首页 php

php7到底干了什么

php7已经发布了有半年多时间了,是php十年以来首次大改版。但是我相信大多数人都只闻其名,却不知道php7相比php5版本到底有了哪些改变。

总所周知,php是IO密集型的语言,在一般的网站系统中,它的主要瓶颈在于mysql中,但相比于c语言,c++等,它的计算能力弱了几十倍。性能问题正是php最大的瓶颈。

说到这里,你应该已经知道php7做出了哪些改变,没错,php7最大的改变就是优化了它的性能。先来看一组数据:

很明显,在使用了php7之后,wordpress的qps提升了两倍,这绝对是一个质的飞跃。

那么php7是如何做到性能优化的呢?

1. 以前php在创建变量时,是动态的从堆中创建,现在则是直接从栈中创建变量,速度更快。

2. php开发中,最常用的就是array(),以前在通过key查找时,需要做一个hash计算,php7则直接存储了hash值,因此无需再做多余的计算,使得查找速度更快。

3. php存储的数据结构做了改变,以前每增加一个变量就要申请一次内存,每一个变量在内存中分布不连续,现在一次申请即可,变量分布比较集中,有效提高命中率。

4. 将call_user_function ,strlen, define, is_int/array/string这四个常用函数变为php OpCode(Zend虚拟机中的指令),速度更快。

5. 排序算法改进等

除了性能之外,php7主要做了两个方面的改变:

  1. 变量类型

    以前php变量是弱类型的,例如

    function a($a1, $a2){ …..}

现在可以指定返回的类型:

function a($a1, $a2) : int { …..}

这对于提升计算能力有很大的帮助,因为以前在计算时需要不断判断数据类型,php7则不用了。

2. 异常捕捉

以前php异常会使程序终止,现在可以使用try/catch语句捕捉异常

不得不承认,php7版本发布是一次重大的改变,那么问题来了,现在已有的php系统要升级吗?

小编觉得,如果你的系统一直跑的很溜,那么没有必要升级,因为php7最大的提升就是性能。如果你的系统一直在高速发展,用户量不断增加,那么即便现在没有性能问题,未来迟早也会有的。小编劝你趁早升级吧。

文章来源:智云一二三科技

文章标题:php7到底干了什么

文章地址:https://www.zhihuclub.com/77839.shtml

关于作者: 智云科技

热门文章

网站地图