網(wǎng)友評分:
5分
HHVM 是一款簡潔實用的PHP代碼虛擬機(jī)工具。軟件擁有即時編譯,是種軟件優(yōu)化技術(shù),指在運行時才會去編譯字節(jié)碼為機(jī)器碼)轉(zhuǎn)為機(jī)器碼執(zhí)行。可以幫助你更好的進(jìn)行代碼的編譯工作。軟件將大量重復(fù)執(zhí)行的字節(jié)碼在運行的時候編譯為機(jī)器碼,達(dá)到提高執(zhí)行效率的目的。
HHVM借由將 PHP 程式碼編譯為字節(jié)碼 ,使其可運行于虛擬機(jī)器的環(huán)境,也可以利用客制的機(jī)器碼。當(dāng)前Facebook的PHP程式皆運行在HHVM上。
HHVM提升PHP性能的途徑,采用的方式就是替代Zend引擎來生成和執(zhí)行PHP的中間字節(jié)碼(HHVM生成自己格式的中間字節(jié) 碼),執(zhí)行時通過JIT(Just In Time,即時編譯是種軟件優(yōu)化技術(shù),指在運行時才會去編譯字節(jié)碼為機(jī)器碼)轉(zhuǎn)為機(jī)器碼執(zhí)行。Zend引擎默認(rèn)做法,是先編譯為opcode,然后再逐條 執(zhí)行,通常每條指令對應(yīng)的是C語言級別的函數(shù)。如果我們產(chǎn)生大量重復(fù)的opcode(純PHP寫的代碼和函數(shù)),對應(yīng)的則是Zend多次逐條執(zhí)行這些C代 碼。而JIT所做的則是更進(jìn)一步,將大量重復(fù)執(zhí)行的字節(jié)碼在運行的時候編譯為機(jī)器碼,達(dá)到提高執(zhí)行效率的目的。通常,觸發(fā)JIT的條件是代碼或者函數(shù)被多 次重復(fù)調(diào)用。
Hack編程語言
JIT編譯
HNI
支持FastCGI
Increasing PHP5 Parity
hphpd debugger
一共有2種比較好的方式來安裝hack語言: 直接安裝已經(jīng)編譯好的包 (推薦) 或者自行從源碼進(jìn)行編譯. 一旦您裝好了Hack and HHVM,請移步到 這里 來學(xué)習(xí)如何開展您的hack項目.
從已經(jīng)編譯好的包文件進(jìn)行安裝(推薦)
Install HHVM and Hack from the latest Debian or Ubuntu nightly HHVM package.
從源碼自行編譯
Compile HHVM and Hack from latest master source for a supported distro:
注意事項:如果您選擇自行編譯源碼包, 那么OCaml 3.12或者是更新的版本請確定已經(jīng)被加載。
V3.20版本中,值得注意的變化主要有:
1:PHP7 Scalar Typehints行為更正
2:當(dāng)HHVM運行在PHP7模式下的時候,HHVM3.20.2及以后版本可以和composer協(xié)同工作。同時添加了相關(guān)測試。
3:現(xiàn)在支持Array, vec, keyset, dict,以及shape類的常量定義了。
4:PHP7的異常類(例如 Throwable),現(xiàn)在被引入到了根命令空間上。而不是轉(zhuǎn)譯到解析器級別上。
5:添加了LibSodium擴(kuò)展:這是一個將會在PHP7.2中添加的擴(kuò)展(暫時不支持Debian7)。這個擴(kuò)展是實驗性的,因為它并沒有在任何PHP版本中發(fā)布過,我們可能需要時刻關(guān)注對相關(guān)更新做鏡像備份。
6:對每次請求的Jit編譯時間做出了限制,具體參加設(shè)置項目hhvm.jit_max_request_translation_time。
7:可重用的TC,現(xiàn)在工作在一個工作線程上,無需綁定每個線程,就可以對編譯進(jìn)行清理。
8:性能改進(jìn)。
9:修復(fù)bug。
關(guān)于本站|下載幫助|下載聲明|軟件發(fā)布|聯(lián)系我們
Copyright ? 2005-2024 virtualinsta360.com.All rights reserved.
浙ICP備2024132706號-1 浙公網(wǎng)安備33038102330474號