17611538698
webmaster@21cto.com

PHP 8 性能怎么样?

资讯 0 2190 2020-06-09 12:04:15
<div class="aw-upload-img-list active"><a data-fancybox-group="thumb" href="https://www.21cto.com/uploads/article/20200609/f6e08a80a87be50b21b3db18e8e0fb23.png" rel="lightbox" target="_blank"><img alt="php8.png" class="img-polaroid" src="https://www.21cto.com/uploads/article/20200609/f6e08a80a87be50b21b3db18e8e0fb23.png" title="php8.png" /></a></div> <p><br /> 外媒Phoronix 发布了针对 PHP 8 的性能基准测试报告。由于 PHP 8 Alpha1 大约要到 6 月中旬才发布,所以 Phoronix 从 PHP 8 最新的 Git 代码(截至 5 月底)构建了用于测试的版本。PHP 8 重要新特性除了新的 JIT 编译器,还包括新的静态返回类型、union types 2.0 (联合类型)和 attributes (属性)等。<br /> <br /> 用于参考对比的版本包括: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。<br /> <br /> 所有受测试的版本都是在相同系统中使用相同的编译器和 PHP 配置文件以相同的方式进行构建,测试环境如下:<br /> <br /> <a data-fancybox-group="thumb" href="/uploads/fox/09093358_0.cle" rel="lightbox" target="_blank"><img alt="/uploads/fox/09093358_0.cle" class="img-polaroid" src="/uploads/fox/09093358_0.cle" title="/uploads/fox/09093358_0.cle" /></a><br /> 测试结果如下:<br /> <a data-fancybox-group="thumb" href="/uploads/fox/09093358_1.cle" rel="lightbox" target="_blank"><img alt="/uploads/fox/09093358_1.cle" class="img-polaroid" src="/uploads/fox/09093358_1.cle" title="/uploads/fox/09093358_1.cle" /></a><br /> 上图显示了使用 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 倍。<br /> <br /> <a data-fancybox-group="thumb" href="/uploads/fox/09093358_2.cle" rel="lightbox" target="_blank"><img alt="/uploads/fox/09093358_2.cle" class="img-polaroid" src="/uploads/fox/09093358_2.cle" title="/uploads/fox/09093358_2.cle" /></a><br /> <a data-fancybox-group="thumb" href="/uploads/fox/09093358_3.cle" rel="lightbox" target="_blank"><img alt="/uploads/fox/09093358_3.cle" class="img-polaroid" src="/uploads/fox/09093358_3.cle" title="/uploads/fox/09093358_3.cle" /></a><br /> 上图是各版本 PHP Micro 基准测试的结果,通过一些 PHP 自带的内置测试,可以看到 PHP 8.0 的速度比已经很快的 PHP 7.4 略有提高,而启用 JIT 支持后,其速度更是碾压全场。<br /> <br /> <a data-fancybox-group="thumb" href="/uploads/fox/09093358_4.cle" rel="lightbox" target="_blank"><img alt="/uploads/fox/09093358_4.cle" class="img-polaroid" src="/uploads/fox/09093358_4.cle" title="/uploads/fox/09093358_4.cle" /></a><br /> 上图的测试结果显示,在使用 Phoronix Test Suite Self Tests 进行测试的过程中,无论是否开启 JIT,PHP 8 的性能<br /> 与 PHP 7 的成绩都没有明显的改进,主要是遇到了 I/O 瓶颈,所以总体上没有产生太大的差异。<br /> <a data-fancybox-group="thumb" href="/uploads/fox/09093358_5.cle" rel="lightbox" target="_blank"><img alt="/uploads/fox/09093358_5.cle" class="img-polaroid" src="/uploads/fox/09093358_5.cle" title="/uploads/fox/09093358_5.cle" /></a><br /> <a data-fancybox-group="thumb" href="/uploads/fox/09093358_6.cle" rel="lightbox" target="_blank"><img alt="/uploads/fox/09093358_6.cle" class="img-polaroid" src="/uploads/fox/09093358_6.cle" title="/uploads/fox/09093358_6.cle" /></a><br /> 同样的,在渲染测试和合并测试方面,启用 JIT 的 PHP 8 没有产生明显的优势,不过与旧版本 PHP 5 相比,PHP 8 的性能有了显著的提升。<br /> <br /> <a data-fancybox-group="thumb" href="/uploads/fox/09093358_7.cle" rel="lightbox" target="_blank"><img alt="/uploads/fox/09093358_7.cle" class="img-polaroid" src="/uploads/fox/09093358_7.cle" title="/uploads/fox/09093358_7.cle" /></a><br /> 上图是综合了各测试结果的评分数据对比,就目前的开发状态来看,PHP 8.0 的速度是 PHP 5.4-5.6 的 3 倍左右,启用 JIT 后,就变成了 4 倍左右的差距<br /> 。<br /> 从数据来看,PHP 8.0 是一个相当值得期待的版本,无论是性能方面的提升还是语言特性的增加。<br /> <br /> 详细测试结果查看&nbsp;<a href="https://www.phoronix.com/" rel="nofollow" target="_blank">https://www.phoronix.com</a></p> <p>&nbsp;</p> <p>&nbsp;</p> <p>&nbsp;</p> <blockquote> <p>来源:OSChina技术社区</p> </blockquote> <p>&nbsp;</p> <p>&nbsp;</p>

评论