PHP 7 vs HHVM 比較

oschina發表於2015-10-12

PHP 是最流行的用於 web 開發的指令碼語言之一。PHP 的最新版本,PHP 7 在效能上做了很大的優化。不過,PHP 還有一個競爭對手 HHVM (HipHop Virtual Machine) — 一個執行 PHP 程式碼的虛擬工具。二者直接的比較正在升溫,那麼讓我們來看一下他們直接的效能對比吧。

什麼是 HHVM?

在2008年,Facebook 啟動了一項工作,計劃開發一個工具 將 PHP 指令碼轉換成 C++,這樣就可以被編譯後在 web 伺服器上執行。目的是節省伺服器資源,這是一個很重要的目標,因為 Facebook 的使用者量正在快速增長。從這個意義上講,這個專案是成功的,因為它可以讓伺服器處理之前五到六倍的請求量。

時間回到2010年,Facebook 的伺服器需求已經增加了很多,是時候考慮用新的創新來提升更大的效率。基於這個需求,Facebook 開發了 HHVM。

HHVM 使用了 Just-In-Time (JIT) 編譯方式將 PHP 程式碼轉換成某種位元組碼。接下來把位元組碼再轉換成機器碼並進行優化,讓它儘可能快的執行。

什麼是PHP 7?

PHP 7 是 PHP 社群對 HHVM 的回應。PHP 7 釋出的預覽版本號稱比之前的 PHP 5 的效能要提升100%

你可能會問 PHP 的版本直接從 PHP5 跳到了 PHP7,答案是這樣的:PHP6 的開發開始於2005年,但是它的進展過於緩慢又出現了很多的問題,這樣 PHP6 在它還沒有釋出正式版本之前就有了不好的名聲。所以PHP社群決定給這個語言的新版本直接命名為 PHP7。

真正的問題不是 PHP5 和 PHP7 之間的比較,因為已經很明顯了 PHP7 提供了更快速的執行速度。但是我們想比較的是 PHP7 和 HHVM。很多專家已經分別使用了這兩個方法來處理PHP程式碼,並且揭示了一些有趣的結論。

比較 PHP7 和 HHVM 的異同:

在回答哪個更好之前,讓我們先來看一下他們之間的關鍵不同點和相似之處。

程式碼解析:

PHP7 和 HHVM 之間的基本不同之處在於他們解析 PHP 程式碼的方式。PHP7 使用標準的 PHP 解析器,它是一個可以給所有人使用的免費軟體,可以在伺服器上直接解析和執行。它生成 HTML 程式碼,然後傳送給客戶端,客戶端顯示出使用者期望的內容。

相比之下,HHVM 首先把 PHP 程式碼轉化為 HipHop 位元組程式碼,這個程式碼再被翻譯成機器碼然後執行。在這個過程中 HHVM 會對程式碼進行優化,優化一些影響執行效率的 PHP 程式碼,目標是提高執行速度。

選擇 PHP 7 的理由


  • PHP 7 在某些情況下比 HHVM 更快,包括執行 Drupal 8。
  •  使用 PHP 7 不需要安裝設定 HHVM。
  • 儘管很多 PHP 4 的功能在新版本中不再支援,但用 PHP 5 寫的程式碼在轉換到 PHP 7 後將會如預期一樣工作。
  • PHP 7 由 PHP 社群開發,這是一群開發穩定可靠 PHP 版本久負盛名的人。

HHVM vs. PHP 7: 作出你的選擇

不要猶豫太久,Kinsta 建議那些線上的網站儘量在 PHP 7 與 HHVM 之間作出選擇,早點開始實施解決方案,讓你的網站效能得到優化。一個低效的網站也會讓你的聲譽受損,那將很難挽回。

相對於舊版本的 PHP,HHVM and PHP 7 都更有益。作出決定,儘快將你的網站切換到新的系統。

相關文章