PHP 7 vs HHVM 比較

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 解析器和 HHVM 都可以接收 PHP 代碼然後運行。這樣寫代碼的過程是完全一樣的。但是如果你想使用 HHVM,你需要在你的服務器上安裝 HHVM 然後以命令行的方式通過 HHVM 命令來調用。

性能測試:

HHVM 比之前的 PHP 版本能提供更快速的性能。但是最近的性能測試認爲至少在某些情況下 PHP7 是比 HHVM 稍微快些。讓我們來看一下由 Kinsta 來做的性能測試結果:

  • WordPress:運行在WordPress4.1.1的 PHP7 每秒鐘比 PHP5.6 能執行超過兩倍的請求,但是沒有 HHVM3.6.1 提供的多,在測試中 HHVM 每秒鐘執行624個請求而 PHP7 只執行604個。

  • Drupal:PHP7 可以給 Drupal 用戶提供比 HHVM 更加明顯的優勢。PHP7 在 Drupal8 上的處理響應效率比 HHVM 高出超過37個百分點。

那些公司使用 HHVM?

除了開發出 HHVM 的 FaceBook 公司外,還有很多其他公司也採用了這個方案,在服務器上用 HHVM 運行 PHP 應用,包括 Wikimedia 和電子商務網站 Etsy。

  • Wikimedia:Wikimedia 擁有大量的教育內容,包括著名的在線百科全書維基百科。維基百科每 個月吸引着近五億的互聯網用戶,爲了滿足這樣高級的需求,需要優化服務器的性能,和 PHP相比 HHVM 有一個顯著的優點,它可以同時加載多個 SPU 核心, 而 PHP 是單線程語言,不能被並行化。維基百科部署了 HHVM 後,CPU 的負載從50%降到了10%,用戶提交編輯時的平均響應時間減少到原來的一半,頁面的平均加載時間從原來的1.3秒降到了0.9秒。

  •  Etsy: 擁有五千四百萬用戶的 Tesy 同樣迫切需要提高服務器性能,Etsy 的工程師對比了HHVM 和 PHP5.4 的性能,發現 HHVM 每秒可以處理280個服務器請求,而對於 PHP5.4,如果每秒的請求數超過了190次,服務器的響應時間就會急劇增加。

未來PHP7和HHVM何去何從?

PHP7 穩定版將發佈於 2015年11月。因此,公司尚未使用新的語言,但 PHP7 測試版的性能有希望的基準測試結果可以吸引更多的公司使用新版本。

未來是 PHP7 的時代,那 HHVM 呢?很遺憾,它是離死不遠了。雖然現在許多企業已經在使用 HHVM增加在其網站上的表現。  但是 PHP 和 HHVM 之間的過渡不是瞬間就能完成的。Etsy(一個網絡商店平臺)花了的半年多時間來完成過渡。在和 PHP7 相比,HHVM 暫時只有很輕微的速度好處,企業會急着切換回 PHP。

Facebook 正在繼續開發 HHVM。它最近宣佈了對 Mac OS X 的支持,使該技術讓蘋果開發者便於使用。 HHVM 開發商相信他們的 HHVM 仍比 PHP7 快,在很多情況下,包括與 WordPress。

爲什麼 HHVM 和 PHP 7 對於網店老闆存在競爭關係?

作爲一個網店老闆,你需要根據你的網店所在的平臺決定是否使用 PHP7 或 HHVM。如果你的網站是用 WorldPress 創建的,那麼你可以看看最新版本的 HHVM 和 PHP 7 的基準測試結果,從測試結果可以發現兩者在性能上的差異,然後你就可以選擇解決方案,最大限度地減小頁面加載時間,服務器響應時間和 CPU 使用率。

選擇 HHVM 的原因

  • HHVM 使用動態翻譯技術,在大多數情況下(包括WordPress)可以提供更高的性能。

  • HHVM 在處理大量請求時,可以保證每個請求只使用少量的內存。

  • HHVM 開發者正在穩步增加這個引擎所能運行的 PHP 代碼的數量,它已經可以運行最新版本的 WorldPress,以及其他常見的 PHP 框架和應用。

  • HHVM 是開源的,儘管 HHVM 是 Facebook 開發的,但它是開源的,意味着任何人都可以使用和修改它的源碼。

選擇 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 都更有益。作出決定,儘快將你的網站切換到新的系統。

PHP 7革新與性能優化 http://www.linuxidc.com/Linux/2015-09/123136.htm

PHP 7 ,你值得擁有  http://www.linuxidc.com/Linux/2015-06/118847.htm 

在 CentOS 7.x / Fedora 21 上面體驗 PHP 7.0  http://www.linuxidc.com/Linux/2015-05/117960.htm 

Debian Wheezy 安裝Nginx+HHVM  http://www.linuxidc.com/Linux/2015-02/112702.htm

PHP 5.5 / PHP5.6 / PHP-NG 和 HHVM 哪個性能更好?  http://www.linuxidc.com/Linux/2015-04/115933.htm

在 Ubuntu 上配置高性能的 HHVM 環境  http://www.linuxidc.com/Linux/2015-09/122710.htm

HHVM 的詳細介紹請點這裏 
HHVM 的下載地址請點這裏

英文原文:PHP 7 vs. HHVM Comparison

本文永久更新鏈接地址http://www.linuxidc.com/Linux/2015-10/124066.htm


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章