自1994年php誕生以來,PHP語言經(jīng)歷了許多改進(jìn),即使很多人唱衰PHP藥丸,但它的發(fā)展還是依舊在持續(xù)增長,今年已經(jīng)是第25周年也還是沒完,且上了杜蕾斯的封面!PHP去年發(fā)布了7.4版本,性能提升不少。但是咱們今天來嘮嘮PHP8,因為預(yù)計在2020下半年即將發(fā)布,我們來看下測試結(jié)果。翻譯來自:https://www.oschina.net/news/116256/php8-jit-pre-alpha-benchmarks?p=4
所有受測試的版本都是在相同系統(tǒng)中使用相同的編譯器和 PHP 配置文件以相同的方式進(jìn)行構(gòu)建,測試環(huán)境如下:
測試結(jié)果如下:
上圖顯示了使用 PHPbench 測試各版本 PHP 的性能結(jié)果。可以看到,從 PHP 7.4 stable 到 PHP 8 有小幅度改進(jìn),大約是 7% 的提升,但如果 PHP 8 啟用了 JIT,性能改進(jìn)可以說是非常明顯,比 PHP 7.4 stable 提升了 92%。至于更舊的版本,PHP 8 with JIT 的性能是 PHP 5.4 的 5 倍。
上圖是各版本 PHP Micro基準(zhǔn)測試的結(jié)果,通過一些 PHP 自帶的內(nèi)置測試,可以看到 PHP 8.0 的速度比已經(jīng)很快的 PHP 7.4 略有提高,而啟用 JIT 支持后,其速度更是碾壓全場。
根據(jù)官方說法:PHP JIT 對于使用 PHP 的網(wǎng)站來說提速可能并不明顯,因為 JIT 在 計算機(jī)CPU 密集型的代碼上效果最好,所以性能提升只是順帶。
而一般情況下,用PHP編寫的程序都是 IO密集型的。用人話來講就是:PHP程序往往受限于IO而不是CPU,使PHP代碼運行速度變慢的因素往往是它們正在執(zhí)行的 IO 操作,包括連接、讀取和寫入數(shù)據(jù)庫、高速緩存、文件與套接字等。(以上兩段消息來源于官方:https://wiki.php.net/rfc/jit)
那么這個時候Swoole協(xié)程、并發(fā)編程的出現(xiàn)正好提高對 IO 密集型場景并發(fā)處理能力!讓PHP也可以使用高性能微服務(wù)架構(gòu),通信場景、重新定義PHP!
然而在這里可能有PHPer說用Go不香嗎?要想成為一個優(yōu)秀的開發(fā)者,你應(yīng)該關(guān)注解決問題層面上來,用現(xiàn)有的技術(shù)資源去成就商業(yè),而不是用公司的資源去成就一門技術(shù),為了技術(shù)而技術(shù)!如果你不能用一種語言里面的基本特性寫出好的代碼解決問題,那你換成另外一種語言也無濟(jì)于事。技術(shù)人員的發(fā)展一直都是“T”字型,如果連吃飯的PHP都學(xué)不好,轉(zhuǎn)JAVA、Go語言你就能成為大牛了?






