1、存储变量的构造体变小,只管即便使构造体里成员共用内存空间,减少引用,这样内存占用降落,变量的操作速率得到提升。
2、字符串构造体的改变,字符串信息和数据本身原来是分成两个独立内存块存放,php7只管即便将它们存入同一块内存,提升了cpu缓存命中率。
3、数组构造的改变,数组元素和hash映射表在php5中会存入多个内存块,php7只管即便将它们分配在同一块内存里,降落了内存占用、提升了cpu缓存命中率。
4、改进了函数的调用机制,通过对参数通报环节的优化,减少一些指令操作,提高了实行效率。
为什么PHP7的性能可以提高这么多?
1. JIT2. Zval的改变3. 内部类型zend_string4. PHP数组的变革(HashTable和Zend Array)5. 函数调用机制(Function Calling Convention)6. 通过宏定义和内联函数(inline),让编译器提前完成部分事情
为什么PHP7的在实际的业务性能提高才30%旁边?
实际的业务不一定有很繁芜的打算逻辑
实际的业务会用到Redis 和MYSQL,网络和IO的瓶颈 影响了PHP7的整体性能
HTTPS的性能问题 限定了PHP7的能力