php7性能提高原因,PHP7性能提升的原因

随着7.x版本的公布,PHP的性能得到倍数级提升,这里尝试着整理一下其原因.

我们先看官方网站php.net上的7.0版本发布消息: http://php.net/archive/2015.php#id2015-12-03-1

其中提到的

PHP 7.0.0 comes with a new version of the Zend Engine, numerous improvements and new features such as

PHP 7.0.0 带来了一个新版本的Zend引擎,数不清的提升和新特性,如下:

Improved performance: PHP 7 is up to twice as fast as PHP 5.6 //提升的性能: 比5.6版本快至两倍

Significantly reduced memory usage //显著减少了内存的使用

Abstract Syntax Tree //抽象语法树

Consistent 64-bit support //持续的64位支持

Improved Exception hierarchy //提升过的异常分层

Many fatal errors converted to Exceptions //许多致命的错误 转为了 异常

Secure random number generator //使随机数生成器安全

Removed old and unsupported SAPIs and extensions //移除了旧的未受支持的SAPI和扩展

The null coalescing operator (??) // 空合运算符(??)

Return and Scalar Type Declarations //Return(返回值)和Scalar(标量)类型的声明

Anonymous Classes //匿名类

Zero cost asserts //零成本的断言(?)

从上面可以看出7.0版本的一些大致的提升和新特性.那么我们再从7.0版本主要开发者鸟哥来介绍一下,到底是通过哪些方式来达到性能的提升的:

到现在我们基本上把zval的变化概况介绍完毕, 抽象的来说, 其实在PHP7中的zval, 已经变成了一个值指针, 它要么保存着原始值, 要么保存着指向一个保存原始值的指针.也就是说现在的zval相当于PHP5的时候的zval *. 只不过相比于zval *, 直接存储zval, 我们可以省掉一次指针解引用, 从而提高缓存友好性.

其实PHP7的性能, 我们并没有引入什么新的技术模式, 不过就是主要来自, 持续不懈的降低内存占用, 提高缓存友好性, 降低执行的指令数的这些原则而来的, 可以说PHP7的重构就是这三个原则.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值