php7改进,php7 到底带来了哪些变化?

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

性能问题正是php最大的瓶颈。

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

7378dba3149f15496642064458fc1b31.png

很明显,在使用了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主要做了两个方面的改变:

变量类型

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

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

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

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

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

2. 异常捕捉

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

ps:

php7 性能提升了很多,比php5.6 性能至少提升3倍.

所以有必要升级一下.

打赏

ff7332c9d8833ec3435fe3dc38de7de3.png

d954b0e6ab9d313a5e1b698d19023135.png微信扫一扫,打赏作者吧~

如果本篇文章对您有帮助,欢迎向博主进行赞助,赞助时请写上您的用户名。

支付宝直接捐助帐号oracle_lee@qq.com 感谢支持!

喜欢 (0)or分享 (0)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值