歡迎您光臨本站 註冊首頁
小知識  >  php >

HHVM提升PHP執行性能的方式

admin @ 2015-09-17 reply:0
←手機掃碼閱讀

HHVM提升PHP性能的途徑,採用的方式就是替代Zend引擎來生成和執行PHP的中間位元組碼(HHVM生成自己格式的中間位元組碼),執行時通過JIT(Just In Time,即時編譯是種軟體優化技術,指在運行時才會去編譯位元組碼為機器碼)轉為機器碼執行。Zend引擎默認做法,是先編譯為opcode,然後再逐條執行,通常每條指令對應的是C語言級別的函數。如果我們產生大量重複的opcode(純PHP寫的代碼和函數),對應的則是Zend多次逐條執行這些C代碼。而JIT所做的則是更進一步,將大量重複執行的位元組碼在運行的時候編譯為機器碼,達到提高執行效率的目的。通常,觸發JIT的條件是代碼或者函數被多次重複調用。


普通的PHP代碼,因為無法固定變數的類型,需要額外添加判斷類型的邏輯代碼,這樣PHP代碼是不利於CPU執行和優化的。因此,HHVM通常需要用到Hack寫法(為了兼容某種特性而額外添加的技巧性質的代碼)的PHP代碼來「配合」,就是為了讓變數類型固定,方便虛擬機編譯執行。PHP追求以一種形式來容納一切類型,而Hack則可以將被容納的一切標記上確定的類型。

[admin via ] HHVM提升PHP執行性能的方式已經有1533次圍觀

http://coctec.com/room/show-69.html