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.
"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 websites 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 optimisations.
"HipHop programmatically transforms your PHP source code into highly optimised 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.