php7性能提升的原因详解

 更新时间:2019年10月13日 09:43:49   作者:V  
在本篇文章里小编给大家分享是的关于php7性能提升的原因以及相关知识点,有需要的朋友们参考下。

为什么PHP7的性能可以提高这么多?

1. JIT
2. Zval的改变
3. 内部类型zend_string
4. PHP数组的变化(HashTable和Zend Array)
5. 函数调用机制(Function Calling Convention)
6. 通过宏定义和内联函数(inline),让编译器提前完成部分工作

为什么PHP7的在实际的业务性能提高才30%左右?

实际的业务不一定有很复杂的计算逻辑

实际的业务会用到Redis 和MYSQL,网络和IO的瓶颈 影响了PHP7的整体性能

HTTPS的性能问题 限制了PHP7的能力

Redis Proxy的问题

Redis Proxy目的是为了做Redis高可用&分布式缓存用的

经过性能测试,相对直接连接redis而已,用Proxy的性能损耗在10-15%左右(不同的业务 可能影响有比较大的差异)

那么Proxy是不是还有优化的空间的呢?

PHP和Redis长短链接的问题

PHP7 Redis长连接比短连接性能高10%左右(不同的业务差别比较大

PHP7性能提升原因总结:

1、存储变量的结构体变小,尽量使结构体里成员共用内存空间,减少引用,这样内存占用降低,变量的操作速度得到提升。

2、字符串结构体的改变,字符串信息和数据本身原来是分成两个独立内存块存放,php7尽量将它们存入同一块内存,提升了cpu缓存命中率。

3、数组结构的改变,数组元素和hash映射表在php5中会存入多个内存块,php7尽量将它们分配在同一块内存里,降低了内存占用、提升了cpu缓存命中率。

4、改进了函数的调用机制,通过对参数传递环节的优化,减少一些指令操作,提高了执行效率。

以上就是php7性能提升的原因的详细内容,更多请关注脚本之家其它相关文章!

相关文章

  • PHP中list()函数用法实例简析

    PHP中list()函数用法实例简析

    这篇文章主要介绍了PHP中list()函数用法,结合实例形式简单分析了list()函数的功能,参数定义,使用技巧及相关注意事项,需要的朋友可以参考下
    2016-01-01
  • 在PHP中使用反射技术的架构插件使用说明

    在PHP中使用反射技术的架构插件使用说明

    基于反射的插件架构实际上并没有归类为一种模式,因为它实际上不是一个模板,而是一糸列组合在一起的形成程序架构的概念。
    2010-05-05
  • Content-Disposition使用方法和注意事项

    Content-Disposition使用方法和注意事项

    这篇文章主要为大家详细介绍了Content-Disposition使用方法和注意事项,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • PHP iconv 解决utf-8和gb2312编码转换问题

    PHP iconv 解决utf-8和gb2312编码转换问题

    就一个很简单的函数iconv();但是就是这个函数在网上找了很多例子,都无法成功转换,这是为什么呢?
    2010-04-04
  • 网站用php实现paypal整合方法

    网站用php实现paypal整合方法

    虽然在中国paypal不是很流行,但如果把范围扩大到世界的话,那paypal无疑就是老大了。
    2010-11-11
  • PHP获取HTTP body内容的方法

    PHP获取HTTP body内容的方法

    今天小编就为大家分享一篇PHP获取HTTP body内容的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • PHP封装的分页类与简单用法示例

    PHP封装的分页类与简单用法示例

    这篇文章主要介绍了PHP封装的分页类与简单用法,结合实例形式分析了php数据库查询、分页、输出显示等相关操作技巧,需要的朋友可以参考下
    2019-02-02
  • Apache+PHP+MySQL搭建PHP开发环境图文教程

    Apache+PHP+MySQL搭建PHP开发环境图文教程

    这篇文章主要介绍了Apache+PHP+MySQL搭建PHP开发环境图文教程,文中通过图文流程介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • PHP单元测试配置与使用方法详解

    PHP单元测试配置与使用方法详解

    这篇文章主要介绍了PHP单元测试配置与使用方法,结合实例形式详细分析了PHP单元测试的具体安装、配置、使用方法及相关操作注意事项,需要的朋友可以参考下
    2019-12-12
  • php中global和$GLOBALS[]的分析之一

    php中global和$GLOBALS[]的分析之一

    PHP 的全局变量和 C 语言有一点点不同,在 C 语言中,全局变量在函数中自动生效,除非被局部变量覆盖
    2012-02-02

最新评论