本文目录导读:

截至 2025 年 5 月,PHP 8.4 尚未正式发布,PHP 8.3 于 2023 年 11 月发布,PHP 8.4 目前仍处于开发和提案征集阶段(预计将于 2024 年 11 月发布)。
根据 PHP 核心开发团队近年来的发布节奏(每个大版本通常带来 10%-30% 的性能提升),并结合已经确认或讨论的 RFC(特性提案),我们可以对 PHP 8.4 的性能提升范围做一个合理预测:
核心结论:相对于 PHP 8.3,PHP 8.4 的性能提升预计在 5%-15% 之间,不会是像 PHP 7.0 到 8.0 那种革命性飞跃,但仍然是值得升级的增量优化。
与历史版本对比:性能提升的空间在缩小
- PHP 7.0 -> 7.4:提升约 50%-100%(引入了 JIT 雏形)。
- PHP 8.0 -> 8.1:提升约 20%-30%(Opcache JIT 成熟,枚举、Fibers 等)。
- PHP 8.2 -> 8.3:提升约 10%(主要是只读类改进、Json 验证优化)。
- 趋势:底层架构已经非常高效,纯解释性语言的天花板在接近,后续版本提升幅度会逐渐稳定在 10% 左右,更多是边际优化。
PHP 8.4 潜在的性能提升点(基于已确认的 RFC)
虽然 8.4 的完整特性列表尚未冻结,但以下已提交或讨论的 RFC 将直接影响性能:
A. 属性钩子(Property Hooks)—— 可能带来轻微性能提升
- 作用:允许开发者像定义方法一样定义属性的
get和set逻辑。 - 性能影响:
- 对于使用魔法方法(
__get/__set)的代码,PHP 8.4 的原生属性钩子会明显更快(魔法方法每次调用都有函数调用开销,而原生钩子是编译期优化的)。 - 预期提升:在使用大量
__get的框架(如 Laravel Eloquent 模型)中,属性访问速度可能提升 20%-40%(局部场景)。
- 对于使用魔法方法(
B. 改进的 Opcache JIT(即时编译)
- 作用:优化对热代码(频繁执行的代码)的编译和缓存。
- 性能影响:JIT 在 8.0 引入后,每次小版本都有微调,8.4 可能继续优化 JIT 的分支预测和内存布局,对 CPU 密集型任务(如图像处理、大数组循环)可能有 5%-10% 的提升,但对 Web 请求(I/O 密集型)提升不明显。
C. 减少内部函数调用开销
- 作用:优化 PHP 核心内置函数(如
strlen,array_merge)的调用栈。 - 性能影响:典型的 Web 应用大约 50% 的时间花在内部函数调用上,优化这部分对框架启动和路由阶段可能有 2%-5% 的整体感知提升。
D. 新的数据结构(如有)—— 微优化
- 8.4 引入像
enum或readonly这样的新底层结构,可能会优化内存布局,但截至 2024 年 10 月,暂无明确的大规模数据结构变更。
一个粗略的对比表(预测值)
| 版本 | 相比上一版本的性能提升(官方基准/Benchmark) | 特点 |
|---|---|---|
| PHP 7.4 -> 8.0 | 约 10% - 15%(不含 JIT,Web 场景) | 命名参数、联合类型、JIT 默认开启 |
| PHP 8.1 -> 8.2 | 约 8% - 12%(含 JIT 改进) | readonly 类、随机扩展优化 |
| PHP 8.3 -> 8.4 | 预计 5% - 15%(需看最终发布特性) | 属性钩子(重要)、更多预加载优化、内部调用调优 |
对普通开发者意味着什么?
- 如果你在用 PHP 8.1 或更早版本:升级到 8.4 你将感受到显著的性能飞跃(可能累积提升 20%-30%+)。
- 如果你已经用 PHP 8.3:升级到 8.4 可能不会立即感受到网页加载变快(除非你的应用大量使用
__get/__set或 CPU 密集型计算)。 - 更重要的升级理由:性能是锦上添花,新语言特性(如属性钩子、安全增强、类型系统改进)才是升级的主要动力。
客观提醒
- 不要神化“10%提升”:在真实的复杂 Web 应用中(涉及数据库查询、网络延迟、文件系统),PHP 引擎本身的性能只占总响应时间的 20%-40%,哪怕 PHP 8.4 比 8.3 快 10%,实际用户体验的提升可能只有 2%-5%。
- 升级建议:等 PHP 8.4 正式发布后(2024年11月),使用工具如
phpbench或Blackfire.io对自己的业务代码进行基准测试,而不是完全依赖官方 Benchmarks。
PHP 8.4 相比 8.3 的性能提升预计在 5%-15% 之间,核心亮点是属性钩子带来的局部加速和 JIT 的持续优化,如果你在 8.3 上运行良好,不必为了性能急着升级;但如果你想用上更好的语法和微优化,8.4 会是一个稳定的选择。