好的,所以我真的很想使用並相信HHVM,但是在我執行的每個測試中,HHVM都比PHP慢。我已經運行了許多不同的測試,一些非常複雜的腳本以及大量處理簡單腳本的腳本。爲了演示,我會用一個(非常)簡單的腳本向你展示結果。HHVM在CLI中比PHP 5.5.9慢
public function hhvm(){
$list = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25);
$this->benchmark->mark('code_start');
for ($i=0 ; $i<100 ; $i++) {
serialize($list);
}
$this->benchmark->mark('code_end');
echo $this->benchmark->elapsed_time('code_start', 'code_end');
}
兩個HHVM和PHP在CLI在同一臺服務器上運行:系統是...
- 的Ubuntu 14.04
- 4 RAID 0
- 2X Hexcore Xeon處理器的SSD
- 64GB Ram
- Codeigniter 3.0(框架)
- PHP 5.5.9
- HHVM(最新的穩定版本爲2015年2月7日)
此腳本下的每個下面的命令,其結果如下的20倍運行:
"hhvm /var/www/vhosts/test.local/httpdocs/index.php test hhvm"
平均執行時間= 0.0021
"hhvm -v Eval.Jit=1 -v Eval.JitProfileInterpRequests=0 /var/www/vhosts/test.local/httpdocs/index.php test hhvm"
平均執行時間= 0.0020
"php /var/www/vhosts/test.local/httpdocs/index.php test hhvm"
平均執行時間= 0.0003
顯然,這是一個小的腳本,我已經跑通過它更大得多的腳本和我看到的是時代PHP = 5.2s HHVM = 6.4s這看起來不是很多,但是當你有太多的這些運行時,它們都會加起來。
所以我的問題是..我到底做錯了什麼?爲什麼我不能將HHVM設置爲比PHP運行速度更快。 (它是否與CI3.0不兼容?即使HHVM站點說100%兼容?)
編輯: 因此,搜索和搜索後似乎沒有人可以提供答案,我已經測試沒有CI3框架使用只是標準的PHP和結果幾乎相同,我已經要求3個其他論壇上的其他人進行測試,他們得到完全相同的結果。我得出結論HHVM是一種炒作負載,在現實世界的場景中,它並沒有削減芥末。如果有人可以證明我錯了,我很樂意聽到你的消息,理論上HHVM聽起來很神奇,我很樂意使用優化代碼執行的東西,就像它聲稱的那樣。
嗨馬克,是的,我禁用/etc/hhvm/php.ini中的錯誤日誌記錄,它沒有任何區別。第一個請求(運行20次)使用默認的HHVM設置,所以有預熱時間(我相信它是標準的12倍)。 :-( – Kirk