PHP 8 性能基准测试

2020年06月08日

外国科技媒体 Phoronix 发布了针对 PHP 8 的性能基准测试报告。由于 PHP 8 Alpha1 大约要到6月中旬才发布,所以 Phoronix 从 PHP 8 最新的 Git 代码(截至5月底)构建了用于测试的版本。PHP 8 重要新特性除了新的 JIT 编译器,还包括新的静态返回类型、union types 2.0(联合类型)和 attributes(属性)等。

用于参考对比的版本包括:PHP 7.4.6, 7.3.18, 7.2.31, 7.1.33, 7.0.33, 5.6.39, 5.5.38 和 5.4.44,以及启用了 JIT (Just In Time) 的 PHP 8。

所有受测试的版本都是在相同系统中使用相同的编译器和 PHP 配置文件以相同的方式进行构建,测试环境如下:

测试结果如下:

上图显示了使用 PHPbench 测试各版本 PHP 的性能结果。可以看到,从 PHP 7.4 stable 到 PHP 8 有小幅度改进,大约是 7% 的提升,但如果 PHP 8 启用了 JIT,性能改进可以说是非常明显,比 PHP 7.4 stable 提升了 92%。至于更旧的版本,PHP 8 with JIT 的性能是 PHP 5.4 的 5 倍。

上图是各版本 PHP Micro 基准测试的结果,通过一些 PHP 自带的内置测试,可以看到 PHP 8.0 的速度比已经很快的 PHP 7.4 略有提高,而启用 JIT 支持后,其速度更是碾压全场。

上图的测试结果显示,在使用 Phoronix Test Suite Self Tests 进行测试的过程中,无论是否开启 JIT,PHP 8 的性能

与 PHP 7 的成绩都没有明显的改进,主要是遇到了 I/O 瓶颈,所以总体上没有产生太大的差异。

同样的,在渲染测试和合并测试方面,启用 JIT 的 PHP 8 没有产生明显的优势,不过与旧版本 PHP 5 相比,PHP 8 的性能有了显著的提升。

上图是综合了各测试结果的评分数据对比,就目前的开发状态来看,PHP 8.0 的速度是 PHP 5.4-5.6 的 3 倍左右,启用 JIT 后,就变成了 4 倍左右的差距。

从数据来看,PHP 8.0 是一个相当值得期待的版本,无论是性能方面的提升还是语言特性的增加。

详细测试结果查看 https://www.phoronix.com/

展开阅读全文
9 收藏
分享
加载中
精彩评论
小团队不怕死就用node
2020-06-08 09:18
20
举报
翻译不严谨呀,不要看到micro就因为是微服务呀.
头两个测试,都是PHP源代码自带的两个用于测试PHP引擎计算性能的脚本.
php-src/Zend/bench.php
php-src/Zend/micro_bench.php
跟微服务没有任何关系.
总结就是:
对于计算密集的操作,JIT牛逼.
对于非计算密集,或者不好进行JIT优化的操作,JIT鸡肋.
2020-06-08 12:05
11
举报
PHP中yield配合事件库实现的无栈协程早就有了.
PHP的yield实现者,PHP的核心开发者,PHPStorm开发者Nikita Popov,
他在2012年就已经协作一篇长文来介绍,不过估计也没几个人看得懂.
Cooperative multitasking using coroutines (in PHP!)
http://nikic.github.io/2012/12/22/Cooperative-multitasking-using-coroutines-in-PHP.html
https://www.laruence.com/2015/05/28/3038.html (鸟哥整理的翻译)

有些老外看懂了,直接就去搞了,比如AMP这个PHP协程框架.
可以看看它的非阻塞HTTP客户端写法:
try {
  $request = new Request("https://amphp.org/");
  $response = yield $http->request($request);
  if ($response->getStatus() !== 200) {
     throw new HttpException;
  }
} catch (HttpException $e) {
  // handle error
}
2020-06-08 12:43
9
举报
不都已经沦落为大前端的打包工具了么?
2020-06-08 08:42
8
举报
jit搞完了 是不是早搞io密集解决了
2020-06-08 09:05
4
举报
最新评论 (149)
还在用7
2020-06-11 18:36
0
回复
举报
等我 npm install (19/9999)... 完 就来测一下
2020-06-11 17:59
2
回复
举报
打开电脑,能用的也只有php,
2020-06-11 17:35
0
回复
举报
太热闹了,还是PHP有流量😂
2020-06-11 11:24
1
回复
举报
有PHP的地方就是江湖,自带流量
2020-06-11 11:17
1
回复
举报
Amg
即便是5.6用,用作于web,瓶颈多数不是来自于php本身;但性能更强,意味着有更多可能性,也可以应用与更多其他计算型的领域
2020-06-11 08:47
0
回复
举报
我还在5.6.哎感觉够用了
2020-06-11 16:02
1
回复
举报
Amg
我们也是,技术迁移要成本的
2020-07-02 11:31
0
回复
举报
Deno+TypeScript才是动态语言的未来啊。
2020-06-11 01:53
1
回复
举报
看你们吵架我也是一种享受,这瓜真甜
2020-06-10 21:31
0
回复
举报
不错哟
2020-06-10 16:49
0
回复
举报
推荐一个 屏蔽eechen 的插件: 笑死我了。 https://gitee.com/shentu-jiazhen/Block-eechen
2020-06-10 16:40
2
回复
举报
到哪都有那个家伙乱吹,好烦,这是个好插件
2020-06-10 17:25
0
回复
举报
老哥,你真是个人才啊。。。
2020-06-11 15:32
0
回复
举报
更多评论
149 评论
9 收藏
分享
在线直播报名
返回顶部
顶部