PHP8確認支持JIT,加上Swoole給你不一樣的感覺
2019-04-22
自 1994 年 PHP誕生 以來, PHP語言經(jīng)歷了許多改進,其中性能是開發(fā)人員在評估新版本時考慮的主要標準之一。
之前的版本暫且先不提,咱們可以先來嘮嘮目前使用的PHP7.3版本,大家都知道 PHP 7 發(fā)布的時候號稱比 PHP5.6 快兩倍,那PHP7.3的性能如何呢?
Phoronix 在 PHP 7.3 Alpha1 發(fā)布時,曾進行過一項基準測試,結(jié)果發(fā)現(xiàn)在常用的 PHPBench 基準測試中(下圖),PHP 7.3.0 Alpha 1 比之前的 PHP 7.2 穩(wěn)定版本快約 7% ,比 PHP 7.0 快 22% ;
可以說PHP7.3版本的性能已經(jīng)到了一定的地步,但是實際上這些優(yōu)化似乎已經(jīng)走到極限了。現(xiàn)在 JIT 從底層著手,被認為是目前提升 PHP 性能的最佳出路。關(guān)于PHP8是否引入 JIT 的官方投票結(jié)果已于本月1號公布,因為一部分大佬(里面有鳥哥)投了贊成票!
根據(jù)官方說法:PHP JIT 對于使用 PHP 的網(wǎng)站來說提速可能并不明顯,因為 JIT 在 CPU 密集型的代碼上效果最好,所以PHP8的JIT作用主要是發(fā)揮數(shù)學領(lǐng)域。
而一般情況下,用 PHP 編寫的程序都是 I/O 密集型的。用人話來講就是:PHP 程序往往受限于 I/O 而不是 CPU,使 PHP 代碼運行速度變慢的因素往往是它們正在執(zhí)行的 I/O 操作,包括連接、讀取和寫入數(shù)據(jù)庫、高速緩存、文件與套接字等。(以上兩段消息來源于官方:https://wiki.php.net/rfc/jit)
那么這個時候Swoole的出現(xiàn)正好是解決IO密集型問題,優(yōu)勢:常駐內(nèi)存,避免重復加載帶來的性能損耗,提升海量性能,協(xié)程異步,提高對 I/O 密集型場景并發(fā)處理能力(如:百度地圖、百度訂單中心、虎牙直播等);方便地開發(fā)Http、WebSocket、TCP、UDP 等應用,可以與硬件通信,使得PHP也可以使用高性能Swoft微服務架構(gòu),重新定義PHP!