是一系列PHP腳本語言的程式碼轉換器的集合,它包含、、以及,這四個腳本引擎各有所不同,但是他們共用相同的运行時()及工具集()。是由Facebook所建立,他們用它來節省伺服器的資源。被發佈時,已經是高達60萬行由C++及C所撰寫的程式碼,它以自由软件發佈,採用PHP许可证 3.01版。
可顯著的增快應用程式的速度,藉由2到6個已觀察到的要素,改善了網頁生成的效能。
歷史
一開始,由Haiping Zhao於領銜開發,運行於CentOS及Fedora作業系統。在釋出之前,已經被開發了兩年,最後於2010年2月2日發佈,但由於技術的困難,實際釋出的時間延後18天,於2月20日發佈在公開的Git程式庫。
HPHPc
這是最原始版本的(被稱之為),它可以將的程式碼轉換成C++的程式碼,並且利用g++將它編譯成机器语言。Facebook使用它多年,但由於他對於開發者並不友善,而且Facebook龐大的程式庫使得開發者在進行程式更動時,必須等待數個小時的編譯,所以在2013年2月19日被官方棄用。
HPHPi
的開發者模式版本(被稱之為)被用來處理PHP程式碼,它在執行時期進行編譯,但與使用相同的執行時期以及執行邏輯,比起,它的執行效能較低,但它令開發者可以使用與產品發佈時相同堆疊的程式碼。目前的支援也已經終止。
HPHPd
的除錯程式(被稱之為)被用來作為執行時期的鍵盤互動界面,它允許開發者可以嘗試使用一些程式碼、緊繫執行時期的直譯器以及可以設定監視器或中斷點。現在仍被支援及使用。
HHVM
這是當前版本的(被稱之為),被用以取代以及在產品的開發及發佈,藉由將 PHP 程式碼編譯為位元組碼 ,使其可運行於虛擬機器的環境,也可以利用客制的JIT在執行時期編譯為機器碼。當前Facebook的PHP程式皆運行在上。
使用HipHop for PHP
是一個開放原始碼的專案,可在[http://github.com/facebook/hiphop-php GitHub]取得,它是採用PHP许可证授權。上已編譯可直接執行的套件已經可以在專案的程式庫取得。
於2012年5月,的指出 目前已經支援的多項特色[https://github.com/facebook/hiphop-php/wiki/]
於及上開發,目前在其他系統編譯可能不能正常運行,雖然在未來可能會加入其他作業系統的支援,但是現在,僅能運行於64位元架構的環境。
在執行專案,有相當多的改進,也能減少記憶體使用量並增加對TBB的的支援,以至於除了加速之外並顯著的減少記憶體使用量。
另見
- Project Zero
- Phalanger (compiler)
參考文獻
外部連結
*
*
- [http://www.stanford.edu/class/ee380/Abstracts/100505.html HipHop Compiler for PHP? Transforming PHP into C++] — lecture given by HipHop Lead Engineer, Haiping Zhao at Stanford University ([http://ee380.stanford.edu/cgi-bin/videologger.php?target=100505-ee380-300.asx video archive]).
- [http://php.webtutor.pl/?p=1188 List of unimplemented functions and features in HipHop for PHP]
- "[http://2011.linux.conf.au/programme/schedule/view_talk/174?day=friday Integration of Intel's TBB into Facebook's HipHop]" – Presentation by Lenz Gschwendtner and Nicolás Erdödy at [https://web.archive.org/web/20100717122935/http://lca2011.linux.org.au/ LCA2011] in Brisbane, Australia. [https://archive.today/20130418171913/http://blip.tv/file/4729313/ Video (28 Jan 2011)]
评论 (0)