PHP7和HHVM解析PHP程式碼的方式不同:PHP7使用標準的PHP解析器,產生HTML程式碼,然後傳送給客戶端,客戶端顯示出使用者期望的內容;HHVM先把PHP程式碼轉換為HipHop位元組代碼,這個代碼再被翻譯成機器碼然後執行。
本教學操作環境:windows7系統、PHP7.1版,DELL G3電腦
什麼是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:運行在WordPress 4.1.1的PHP7 每秒鐘比PHP5.6 能執行超過兩倍的請求,但是沒有HHVM3.6.1提供的多,在測試中HHVM 每秒鐘執行624個請求而PHP7 只執行604個。
Drupal:PHP7 可以提供 Drupal 使用者比 HHVM 更明顯的優勢。 PHP7 在 Drupal8 上的處理回應效率比 HHVM 高出超過37個百分點。
推薦學習:《PHP影片教學》
以上是php7和hvvm的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!