Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 See also  





2 References  





3 External links  














HipHop for PHP






Čeština
Deutsch
Español
Français
Latviešu
Polski
Русский
Türkçe
Українська
Tiếng Vit

 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 


HipHop for PHP
Developer(s)Facebook, Inc.
Initial releaseFebruary 2, 2010; 14 years ago (2010-02-02)[1]
Final release

Replaced by HHVM[2][3] / 2013; 11 years ago (2013)

Repository
Written inC++, C, PHP
SuccessorHHVM
LicensePHP License
Websitegithub.com/facebook/hiphop-php Edit this on Wikidata

HipHop for PHP (HPHPc) is a discontinued PHP transpiler created by Facebook. By using HPHPc as a source-to-source compiler, PHP code is translated into C++, compiled into a binary and run as an executable, as opposed to the PHP's usual execution path of PHP code being transformed into opcodes and interpreted. HPHPc consists mainly of C++, C and PHP source codes, and it is free and open-source software distributed under the PHP License.

The original motivation behind HipHop was to save resources on Facebook servers, given the large PHP codebase of facebook.com. As the development of HipHop progressed, it was realised that HipHop could substantially increase the speed of PHP applications in general. Increases in web page generation throughput by factors of up to six have been observed over the Zend PHP.[4][5][6][7][8] A stated goal of HPHPc was to provide a high level of compatibility for Zend PHP, where most Zend-based PHP programs run unmodified on HPHPc.[6] HPHPc was originally open sourced in early 2010.[1]

As an addition to HPHPc, Facebook engineers also created a "developer mode" of HipHop (interpreted version of a PHP execution engine, known as HPHPi) and the HipHop debugger (known as HPHPd). These additions allow developers to run PHP code through the same logic provided by HPHPc while making it possible to interactively debug PHP code by defining watches, breakpoints, etc. Running the code through HPHPi yields lower performance when compared to HPHPc, but the developer benefits were, at the time, worth having to maintain these two execution engines for production and development. HPHPi and HPHPd were also open sourced in 2010.[1]

By many accounts HPHPc fulfilled its goals, especially within Facebook as it allowed facebook.com to run much faster while using fewer resources. However, in early 2013 Facebook deprecated HPHPc in favor of the HipHop Virtual Machine (HHVM), which is a just-in-time (JIT) compilation-based execution engine for PHP, also developed by Facebook.[2][9] There were many reasons for this; one of them was HPHPc's flattened curve for further performance improvements. Also, HPHPc did not fully support the PHP language, including the create_function() and eval() constructs, and it involved a specific time- and resource-consuming deployment process that required a bigger than 1 GB binary to be compiled and distributed to many servers in short order. In addition, maintaining HPHPc and HPHPi in parallel (as they needed to be, for the consistency of production and development environments) was becoming cumbersome. Finally, HPHPc was not a drop-in replacement for Zend, requiring external customers to change their whole development and deployment processes to use HPHPc.[2]

See also

[edit]

References

[edit]
  1. ^ a b c Haiping Zhao (2010-02-02). "HipHop for PHP: Move Fast". Facebook. Retrieved 2014-08-02.
  • ^ a b c Drew Paroski (2012-11-29). "Speeding up PHP-based development with HHVM". Facebook. Retrieved 2014-08-02.
  • ^ Paul Tarjan (2013-05-13). "Joining, Retirement, Testing, and Bankruptcy". hhvm.com. Retrieved 2014-08-02.
  • ^ "OOPSLA '12 Paper". Retrieved 2013-05-23.
  • ^ Guilherme Ottoni (2013-03-12). "The HipHop Compiler for PHP". OOPSLA 2012. Retrieved 2013-05-23.
  • ^ a b "FOSDEM 2013 Interview". Retrieved 2013-05-23.
  • ^ "HipHop for PHP: Benchmark". Archived from the original on 2011-05-16. Retrieved 2013-05-23.
  • ^ "Drupal 7: HipHop for PHP vs APC – benchmark". Archived from the original on 2011-05-19. Retrieved 2013-05-23.
  • ^ "Announcement on GitHub removing HPHPc support". github.com. Facebook. 2013-02-19. Retrieved 2013-05-24.
  • [edit]
    Retrieved from "https://en.wikipedia.org/w/index.php?title=HipHop_for_PHP&oldid=1198840286"

    Categories: 
    2010 software
    C (programming language) software
    C++ software
    Facebook software
    Free compilers and interpreters
    PHP software
    Software using the PHP license
    Source-to-source compilers
    Hidden categories: 
    Articles with short description
    Short description matches Wikidata
     



    This page was last edited on 25 January 2024, at 05:35 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki