Technologists at Facebook on Tuesday are releasing a source code transformer intended to boost the performance of PHP.
In development for the past two years, the technology, called HipHop for PHP, has been used to reduce the CPU usage on Facebook Web servers by an average of about 50 percent, said Haiping Zhao, senior server engineer at Facebook.
[ InfoWorld reported on PHP 6 highlights, including internationalization, that were detailed at a technical conference late last year. ]
"The project has had a tremendous impact on Facebook. We feel the Web at large can benefit from HipHop, so we are releasing it as open source this evening in hope that it brings a new focus toward scaling large, complex Web sites with PHP," Zhao said in a statement on the Facebook Developers page.
The technology is not complete and users need to be comfortable with HipHop before trying it out, said Zhao.
HipHop, he said, technically is not a compiler. It features a code transformer, a reimplementation of PHP's runtime system and a rewrite of some common PHP extensions to boost performance optimizations.
"HipHop programmatically transforms your PHP source code into highly optimized C++ and then uses g++ to compile it," Zhao said. "HipHop executes the source code in a semantically equivalent manner and sacrifices some rarely used features -- such as eval() -- in exchange for improved performance."
PHP, Zhao said, offers benefits in terms of programmer productivity, as do other scripting languages such as Perl, Python and Ruby. But scripting languages are known to be less efficient in terms of CPU and memory usage, he said.
"Because of this, it's been challenging to scale Facebook to over 400 billion PHP-based page views every month," Zhao said.
HipHop allows developers to keep the best aspects of PHP while taking advantage of performance of C++, said Zhao.
"In total, we have written over 300,000 lines of code and more than 5,000 unit tests. All of this will be released this evening on GitHub under the open source PHP license," Zhao said.
The CEO of PHP tools maker Zend Technologies questioned how much of HipHop was Facebook-specific.
"It will be interesting to learn what HipHop concepts apply to the broad PHP community and what are specific to Facebook," said Andi Gutmans, of Zend. "We have always adapted to changes within the PHP runtime, whether these changes were made by us or by the community and will be glad to continue doing so. We believe it is important to continue to fold in new ideas and innovations into the community-based runtime."