日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

初次体验hiphop-php

發布時間:2023/11/27 生活经验 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 初次体验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的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。