初次体验hiphop-php
生活随笔
收集整理的這篇文章主要介紹了
初次体验hiphop-php
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
facebook在github上發布了hiphop-php的源代碼。之前聽說這玩意能把php代碼翻譯成c++代碼,然后帶來巨大的性能提升,所以第一時間編譯了一份hiphop-php。
我的機器環境是
- Centos 5.3 x86_64
- 8G內存
- Intel(R) Xeon(R) CPU E5420 @ 2.50GHz
安裝注意事項
編譯的時候碰到的問題很多,但是基本上都是按照wiki上的步驟進行的。我覺得比較重要的幾點:
- wiki上的Required Packages包包列表都要檢查一遍,比如版本號,是否安裝過,像binutils-dev這種就很容易忽略
- 版本符合的話,直接用yum安裝這些包就可以了
- wiki上有類似Boost 1.37 is the minimum version字樣,說明開發者可能就是在這個版本下開發的,我試了下最新版本的boost,編譯到后來反而出錯
- 如果yum上沒有符合版本的lib庫,可以手動編譯,但是編譯時建議就放在自己的home下,比如:
./configure --prefix=/home/user - tbb Intel’s Thread Building Blocks這個包有些麻煩,記得按照wiki上說的步驟安裝
測試hiphop-php
安裝完成之后,時間也不是太多,所以我僅僅是簡單的測試了一個php文件,代碼如下:
<?php?
$i = 0;?
for($j = 0; $j < 1000000; $j++)?$i += $j;?echo $i, "n";?
?>
用hphp進行編譯:
hphp/hphp test.php --keep-tempdir=1 --log=3
提示生成新的可執行文件
/tmp/hphp_c9sbnG/program
做一下運行時間對比:
$ time php test.php?
499999500000?real ? ?0m0.307s?
user ? ?0m0.299s?
sys ? ? 0m0.007s?$ time /tmp/hphp_c9sbnG/program?
499999500000?real ? ?0m0.259s?
user ? ?0m0.194s?
sys ? ? 0m0.008s
沒看出來編譯成c++代碼之后有太大的性能提升,估計是俺的使用手法問題?在郵件組里觀察幾天再說。
Update
facebook將優化之后的編譯參數提交到了github,于是我重新編譯并測試一遍這段相同的代碼:
$ time /tmp/hphp_c9sbnG/program?
499999500000?real ? ?0m0.140s?
user ? ?0m0.076s?
sys ? ? 0m0.006s
可以看到,經hiphop編譯后的php,執行時間幾乎快了一倍。
總結
以上是生活随笔為你收集整理的初次体验hiphop-php的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求一个qq闺蜜网名英文。
- 下一篇: PHP“Cannot use objec