PHP 8 能有多快?(效能測試)

2020-07-16 10:04:19

Phoronix 發布了針對 PHP 8 的效能基準測試報告。由於 PHP 8 Alpha1 大約要到6月中旬才發布,所以 Phoronix 從 PHP 8 最新的 Git 程式碼(截至5月底)構建了用於測試的版本。PHP 8 重要新特性除了新的 JIT 編譯器,還包括新的靜態返回型別、union types 2.0(聯合型別)和 attributes(屬性)等。

更多特性請參考《PHP 8 中新特性以及重大調整

用於參考對比的版本包括: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 組態檔以相同的方式進行構建,測試環境如下:

Snipaste_2020-06-30_11-50-51.png

測試結果如下:

Snipaste_2020-06-30_11-50-59.png

上圖顯示了使用 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 倍。

Snipaste_2020-06-30_11-51-07.png

Snipaste_2020-06-30_11-51-13.png

上圖是各版本 PHP 微服務基準測試的結果,通過一些 PHP 自帶的內建測試,可以看到 PHP 8.0 的速度比已經很快的 PHP 7.4 略有提高,而啟用 JIT 支援後,其速度更是碾壓全場。

Snipaste_2020-06-30_11-51-22.png

上圖的測試結果顯示,在使用 Phoronix Test Suite Self Tests 進行測試的過程中,無論是否開啟 JIT,PHP 8 的效能

與 PHP 7 的成績都沒有明顯的改進,主要是遇到了 I/O 瓶頸,所以總體上沒有產生太大的差異。

Snipaste_2020-06-30_11-51-28.png

Snipaste_2020-06-30_11-51-33.png

同樣的,在渲染測試和合併測試方面,啟用 JIT 的 PHP 8 沒有產生明顯的優勢,不過與舊版本 PHP 5 相比,PHP 8 的效能有了顯著的提升。

Snipaste_2020-06-30_11-51-40.png

以上就是PHP 8 能有多快?(效能測試)的詳細內容,更多請關注TW511.COM其它相關文章!