php7性能提升的原因详解
作者:V 时间:2024-05-03 15:34:19
为什么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,性能提升
0
投稿
猜你喜欢
python3爬虫获取html内容及各属性值的方法
2021-08-23 02:37:33
Java连接数据库oracle中文乱码解决方案
2024-01-19 02:48:10
SQL语句的执行原理分析
2024-01-15 03:17:59
Python调用服务接口的实例
2021-06-04 18:22:06
python 获取星期字符串的实例
2022-08-17 19:14:37
pandas DataFrame 警告(SettingWithCopyWarning)的解决
2023-08-20 07:45:31
Win7彻底卸载Oracle 11g图文步骤(靠谱)
2024-01-22 22:22:05
Pandas分组与排序的实现
2022-11-27 14:13:18
详解Go语言中的Slice链式操作
2024-05-22 10:29:05
Bootstrap Metronic完全响应式管理模板之菜单栏学习笔记
2023-08-17 10:58:20
python使用webdriver爬取微信公众号
2022-10-06 02:13:30
用python发送微信消息
2022-04-14 07:16:55
SQL语句中EXISTS的详细用法大全
2024-01-22 11:09:11
Python 异常处理Ⅳ过程图解
2023-06-28 16:05:53
golang struct 实现 interface的方法
2024-05-05 09:28:37
python获取指定网页上所有超链接的方法
2023-07-18 11:50:20
matplotlib基础绘图命令之errorbar的使用
2022-03-10 23:20:38
python练习之循环控制语句 break 与 continue
2022-04-15 12:31:20
Python写出新冠状病毒确诊人数地图的方法
2022-09-28 06:15:13
Python3爬虫里关于代理的设置总结
2021-05-05 23:58:12