米Facebookは米国時間2010年2月2日、Web開発スクリプト言語PHPで書かれたコードをC++コードに変換するツール「HipHop for PHP」(ベータ版)を、オープンソース・ソフトウエア(OSS)として公開した(写真)。WebページのPHP部分をC++言語経由でバイナリ化することで、処理の高速化やサーバーの負荷軽減につながるとしている。
HipHopで生成したC++コードは、オープンソース・コンパイラg++(GNU C++コンパイラ)でバイナリ・コード化する。Facebookがテストしたところ、最終的なバイナリ・コードは変換前のPHPコードに比べWebサーバーのプロセサ使用量がほぼ半減した。SNS(Social Networking Service)「Facebook」のAPI層においては、30%少ないプロセサ使用量で2倍のトラフィックを処理できたという。こうした効果により、サーバー数の削減やデータセンターの発熱低減が見込める。
HipHopは変換時にPHPコードを解釈し、使用頻度の低い「eval()」といった処理を犠牲にして全体的な最適化を図る。またPHPランタイム・システムの改良やPHPエクステンションの変更も行った。
現在FacebookはPHPベースのWebページを月間4000億ページ・ビュー以上提供しており、Webトラフィック全体の90%以上がHipHop経由だという。