17611538698
webmaster@21cto.com

PHP 8.1 性能基准测试

资讯 0 1129 2021-12-02 11:20:32
导读:PHP 8.1 已于上周正式发布,科技媒体 Phoronix 紧随其后发布了针对 PHP 8.1 的性能基准测试报告。

图片

测试所用的CPU

本次测试是在运行 Ubuntu Linux 的 AMD EPYC 72F3 服务器环境。所有受测试的版本都是在同一个系统上用相同的软件包和相同的构建选项重新构建的。

用于参考对比的版本包括:
PHP 8.1、PHP 8.0.13、PHP 7.4.26、PHP 7.3.33、PHP 7.0.33 和 PHP 5.6.40。

PHP 7.1/7.2 由于技术栈中构建和运行时出现了错误而被排除在外。测试软硬件环境如下:

图片
测试反馈结果如下:

以上图形显示了使用 PHPbench 测试各版本 PHP 的性能结果。

可以看到的,自 PHP 5.6 推出以来,该语言在过去的几年里发展的都还不错。现在,在延续了 PHP 7.x 版本中的稳定改进的同时,从 PHP 8.0 到 8.1 又实现了约 4% 的额外改进。

图片
图片

就 PHP Micro 基准测试而言,Phoronix 方面认为虽然它们不是太有用;但从测试结果来看,它们再次彰显了 PHP 在过去几年中的进步。

图片
而在使用 Phoronix Test Suite 本身进行的围绕 XML 解析、JSON 生成和其他常见的实际操作的各种代码路径的基准测试中,则存在一个情况。

在 AMD EPYC Linux 服务器上,从 PHP 7.3 到 PHP 8.0 基本持平后,PHP 8.1 实现了一个不错的改进。大部分显著的改进主要出现在 PHP 5.x 后期和 PHP 7.x 早期发布的时候。

图片

在渲染测试方面,上图的测试结果也表明,PHP 8.1 的性能在朝着正确地方向继续发展。

值得一提的是,PHP 8.1 的峰值内存使用量甚至比以前的 PHP 版本略低。总的来说,PHP 8.1 又是一个推动服务器端编程语言发展的好版本。

PHP 8.1 在语言方面有一些很好的补充;而在性能方面,也实现了一些渐进式的改进,使其与其他脚本语言相比更具竞争力。

网友评价:


PHP 似乎已经有了很大的发展,成为了一种不错的、现代的、优秀的编程语言!
我知道它以前面临过一些批评,但我认为它已经发展得很好,值得第二次机会,而且我认为以前的大部分批评已经不再适用。
PHP 现在唯一缺少的是泛型、泛型属性和 async/await。

尽管我确实发现 PHP 中的“特征”相当奇怪,但它们与 Rust 中所谓的特征完全不同。另外我认为 PHP 中的 trait 是一个坏主意,因为它引入了“胶水”,我认为通过依赖倒置原则使用水平组合可以更好地解决这个问题——可以有一个接受依赖的构造函数。


作者:开水加糖

来源:开源中国

评论