最新版本PHP 7 vs HHVM 多角度比較_php執行個體

來源:互聯網
上載者:User

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

什麼是 HHVM?

在2008年,Facebook 啟動了一項工作,計劃開發一個工具 將 PHP 指令碼轉換成 C++,這樣就可以被編譯後在 網頁伺服器上運行。目的是節省伺服器資源,這是一個很重要的目標,因為 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次,伺服器的回應時間就會急劇增加。

PHP 7 和 HHVM的前景如何?

由於 PHP 7 的穩定版本將在2015年11月發布,因此目前還沒有公司使用這個新的語言,由於 PHP 7 的 beta 版在基準測試中表現出色,未來能夠吸引更多公司使用 PHP 7。

PHP 的前途一片光明,那麼 HHVM呢?它可能會繼續活得很好。很多公司已經在網站中使用了 HHVM提高效能,在 PHP 和 HHVM 之間遷移不是一蹴而就的。Etsy 花了至少6個月的時間。由於 PHP7 和HHVM 相比效能提升不大,那些公司不太可能急於切換到PHP。

Facebook 仍然會繼續開發 HHVM。它最近宣布支援蘋果的作業系統,使在蘋果開發環境下工作的開發人員可以使用這個技術。HHVM 的開發人員相信在很多情況下 HHVM 比 PHP7 更快,包括 WorldPress。

為什麼 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 之間作出選擇,早點開始實施解決方案,讓你的網站效能得到最佳化。一個低效的網站也會讓你的聲譽受損,那將很難挽回。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.