PHP 用ヒップホップ

PHP 用ヒップホップ
開発者フェイスブック社
初回リリース2010年2月2日[ 1 ] (2010年2月2日
最終リリース
HHVMに置き換えられた[ 2 ] [ 3 ] / 2013 (2013年
リポジトリ
書かれたC++ハックOCamlRust
後継HHVM
ライセンスPHPライセンス
Webサイトgithub .com /facebook /hiphop-php ウィキデータで編集する

HipHop for PHP ( HPHPc ) は、Facebookが開発したPHPトランスパイラです。現在は開発が中止されています。HPHPcをソースコードからソースコードへのコンパイラとして使用することで、PHPコードはC++に変換され、バイナリにコンパイルされて実行ファイルとして実行されます。これは、PHPコードがオペコードに変換されてから解釈されるという通常のPHP実行パスとは対照的です。HPHPcは主にC++、C、およびPHPのソースコードで構成されており、PHPライセンスに基づいて配布される無料のオープンソースソフトウェアです。

HipHopの当初の目的は、facebook.comのPHPコードベースが大規模であることから、Facebookサーバーのリソースを節約することでした。HipHopの開発が進むにつれて、HipHopはPHPアプリケーション全体の速度を大幅に向上させることができることが認識されました。Zend PHPと比較して、Webページ生成のスループットが最大6倍向上することが確認されています [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] HPHPcの目標は、Zend PHPとの高い互換性を提供することでした。ほとんどのZendベースのPHPプログラムは、HPHPc上で変更なしで動作します。[ 6 ] HPHPcは2010年初頭にオープンソース化されました。 [ 1 ]

FacebookのエンジニアはHPHPcに加えて、HipHopの「開発者モード」(PHP実行エンジンのインタープリタ版で、HPHPiと呼ばれる)とHipHopデバッガ( HPHPdと呼ばれる)も開発しました。これらの追加機能により、開発者はHPHPcが提供するのと同じロジックでPHPコードを実行できるだけでなく、ウォッチブレークポイントなどを定義してPHPコードを対話的にデバッグできるようになりました。HPHPiでコードを実行するとHPHPcに比べてパフォーマンスは低下しますが、開発者にとってのメリットは、当時、本番環境と開発環境でこれら2つの実行エンジンを維持する価値があるものでした。HPHPiとHPHPdは2010年にオープンソース化されました。[ 1 ]

HPHPc は多くの報告でその目的を達成しており、特に Facebook 社内では、facebook.com の実行速度を大幅に向上させ、使用するリソースを少なくしたためである。しかし、2013 年の初めに Facebook は HPHPc を廃止し、同じく Facebook が開発した PHP 用のジャストインタイム (JIT) コンパイルベースの実行エンジンである HipHop Virtual Machine ( HHVM )を採用した。 [ 2 ] [ 9 ] これには多くの理由があるが、その 1 つは、HPHPc の曲線が平坦化されており、さらなるパフォーマンス向上が見込めることである。また、HPHPc は、create_function()eval()構造を含め、PHP 言語を完全にはサポートしておらず、1 GB を超えるバイナリをコンパイルして短期間で多数のサーバーに配布する、時間とリソースを大量に消費する特定の展開プロセスを必要とした。さらに、運用環境と開発環境の一貫性を保つために必要だった HPHPc と HPHPi の並行保守が面倒になってきていた。最後に、HPHPc は Zend の完全な代替品ではなく、外部の顧客が HPHPc を使用するために開発および展開プロセス全体を変更する必要があった。[ 2 ]

参照

参考文献

  1. ^ a b c Haiping Zhao (2010年2月2日). 「PHPのためのHipHop:速く動く」 . Facebook . 2014年8月2日閲覧
  2. ^ a b c Drew Paroski (2012年11月29日). 「HHVMによるPHPベース開発の高速化」 . Facebook . 2014年8月2日閲覧
  3. ^ Paul Tarjan (2013年5月13日). 「入社、退職、テスト、そして破産」 . hhvm.com . 2014年8月2日閲覧
  4. ^ “OOPSLA '12 論文” . 2013 年 5 月 23 日に取得
  5. ^ギリェルメ・オットーニ (2013-03-12)。「PHP 用 HipHop コンパイラー」。ウープスラ2012 2013 年 5 月 23 日に取得
  6. ^ a b「FOSDEM 2013 インタビュー」 。 2013年5月23日閲覧
  7. ^ 「HipHop for PHP: ベンチマーク」 2011年5月16日時点のオリジナルよりアーカイブ2013年5月23日閲覧。
  8. ^ 「Drupal 7: HipHop for PHP vs APC – ベンチマーク」2011年5月19日時点のオリジナルよりアーカイブ2013年5月23日閲覧。
  9. ^ 「GitHubでのHPHPcサポート削除のお知らせ」 . github.com . Facebook . 2013年2月19日. 2013年5月24日閲覧