HipHop for PHP
File:Hiphop logo white.png | |
Developer(s) | |
---|---|
Initial release | February 2, 2010 |
Repository | |
Written in | C++, C |
Operating system | Cross-platform |
Type | Source code transformer |
License | Free software (PHP License) |
Website | http://wiki.github.com/facebook/hiphop-php/ |
HipHop for PHP is a source code transformer for PHP script code. HipHop programmatically transforms PHP source code into highly optimized C++ and then uses g++ to compile it to machine code. HipHop includes a code transformer, a reimplementation of PHP's runtime system, and a rewrite of many common PHP Extensions to take advantage of these performance optimizations.[1]
HipHop was created by Facebook to save resources on their servers. It is being distributed with its over 300,000 lines of source code written in C++ and C as free software under the terms of version 3.01 of the PHP License.
They also developed HPHPi, which is an experimental interpreter designed for development with no need to compile the PHP source code before running it.
History
Initially HipHop was developed at Facebook under the lead of Haiping Zhao on CentOS and Fedora systems. It follows earlier similar developments like phc[2] and Roadsend PHP Compiler (compiling to C) or Quercus [3] and Project Zero [4] (Java implementations of PHP) or Phalanger (compiler for .NET). It had been under development for two years already when the release as Free software under the PHP License was announced for 2nd of February 2010. Because of technical difficulties Facebook failed to deliver on date,[5][6] but on 20th of February the sources were finally uploaded to the public Git repository. The software serves hundreds of millions of users at Facebook.
Using HipHop for PHP
HipHop for PHP is an open source project, available from GitHub under the open source PHP license.
HipHop currently supports PHP version 5.2 and will be updated to support 5.3.
HipHop has been developed on CentOS and Fedora; building on other operating systems may not work at present, although support may be added in the future. At present, HipHop can only run on 64-bit architectures.
References
External links
- website at GitHub
- Development mailing list
- Wiki: HipHop for PHP
- HipHop Compiler for PHP? Transforming PHP into C++ — lecture given by HipHop Lead Engineer, Haiping Zhao at Stanford University (video archive).