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 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 5.6,7.0,7.1,7.2 和 HHVM 執行效率比較PHP
- PHP7和HHVM的效能之爭PHP
- PHP比較字串PHP字串
- Redis vs. MongoDB比較RedisMongoDB
- JUnit 4 Vs TestNG比較
- PHP物件的比較PHP物件
- iOS:原生應用 VS Flutter VS GICXMLLayout 比較iOSFlutterXML
- php型別比較表PHP型別
- Delphi中字串比較大小 VS Oracle-SQL中字串比較大小字串OracleSQL
- Goland與vscode比較 - redditGoLandVSCode
- Python的List vs Tuple比較Python
- 資料庫比較 PostgreSQL vs MongoDB資料庫SQLMongoDB
- HHVM 是如何提升 PHP 效能的?PHP
- JavaScript 與 Java、PHP 的比較JavaScriptPHP
- PHP中的比較運算子PHP
- 國外主流PHP框架比較PHP框架
- 庫 vs 服務 vs 側車Sidecar的比較IDE
- JS 框架比較:AngularJS vs ReactJS vs EmberJSJS框架AngularReact
- JavaScript框架比較:AngularJS vs ReactJS vs EmberJSJavaScript框架AngularJSReact
- web快取伺服器效能比較nustervsnginxvsvarnishWeb快取伺服器Nginx
- github-abertschi/graalphp:一個基於GraalVM的高效PHP實現,比傳統PHP7或HHVM效能提升接近10倍!GithubPHPLVM
- 【譯】Flutter vs React Native vs Native:深度效能比較FlutterReact Native
- 關聯式資料庫比較:SQLite vs MySQL vs PostgreSQL資料庫SQLiteMySql
- PHP autoload與include效能比較PHP
- Rust的Vector vs. Golang的Slice比較RustGolang
- 微服務訊息代理比較:Redis vs Kafka vs RabbitMQ - Mertcan微服務RedisKafkaMQ
- PHP 5.5 / PHP5.6 / PHP-NG 和 HHVM 哪個效能更好?PHP
- PHP 5 與 PHP 7 的效能對比PHP
- php比較運算子的安全問題PHP
- IIS下PHP的ISAPI和FastCGI比較PHPAPIAST
- php,asp,jsp,c,速度比較 (轉)PHPJS
- PHP的的陣列和比較符PHP陣列
- 大資料檔案格式比較:AVRO vs. PARQUET vs. ORC大資料VR
- DNS 解析器效能比較:CloudFlare vs Google vs Quad9DNSCloudGo
- 模組化與微服務比較 MircoService VS OSGI微服務
- Jenkins vs Kubernetes:比較 DevOps 工具Jenkinsdev
- 共識演算法的比較:Casper vs Tendermint演算法
- LVS 三種負載均衡方式比較負載