Facebook releases a PHP just-in-time compiler
Facebook finds a new way to render PHP even more quickly
IDG News Service - In its continuing endeavor to serve its 800 million users as quickly as possible, Facebook is once again revamping the way it handles its PHP-based Web pages.
Friday, Facebook posted on GitHub its HipHop Virtual Machine (HHVM), which the company's engineers call a just-in-time PHP compiler. According to Facebook, this PHP execution engine is 60% faster than its current PHP interpreter and uses 90% less memory.
Facebook is currently using HHVM in its test environments as a replacement for its home-built PHP interpreter, and plans to eventually use it to run the PHP code for its website.
Facebook made its quest for faster PHP code public in 2010, when it released what it called a PHP source code transformer, called HipHop, which it had already been using in production.
Facebook's HipHop transforms PHP extensions into highly optimized C++ code, which means they run faster when executed. PHP developers at Facebook can write their extensions in PHP, and have HipHop transform it into C++ code, which then can be compiled into speedy binary objects.
The company migrated all its own servers over to HipHop in 2010, claiming that it had cut CPU usage in half. The company released the source code of HipHop so others could use it as well.
At the time, Facebook also developed a PHP interpreter, called HPHPi, which allows PHP developers to run their PHP code without compiling it. Code run on HPHPi is slower than code compiled and run on HipHop, but it provides developers with an easier way to debug their code.
With HHVM, Facebook engineers have combined the speed of a compiled language with the flexibility of a scripted language. "A dynamic translator can observe data types as the program executes, and generate type-specialized machine code," wrote Facebook software engineer Jason Evans, in a blog post announcing the release of HHVM.
HHVM also solves an internal problem for Facebook. HPHPi and HipHop "don't have identical language semantics," wrote Evans in an email interview. This means that code that runs perfectly well in an HPHPi test environment might not run on HipHop.
While Facebook designed HHVM primarily for its own use, such PHP acceleration technologies could be useful for other organizations using PHP as well, said IDC software analyst Al Hilwa. "Really complex PHP code can benefit from this type of optimization," he said. "PHP is the dominant server-side language and there are surprisingly large applications written in PHP."
Work still needs to be done on HHVM, according to Evans. The interpreter still needs to be tuned for production use. The translation cache needs to be refined, and its memory use needs to be reduced.
"We hope that the PHP community will find [HHVM] useful as it matures and engage with us to broaden its usefulness through technical discussions, bug reports, and code contributions," Evans wrote.
- The Business Value of Continuous Delivery Download this whitepaper to learn more about the business value of Continuous Delivery and see why it could be a game changer for...
- Ten Factors Shaping the Future of Application Delivery Download this research report conducted by Enterprise Management Associates (EMA) to learn how those that are seeking to accelerate application delivery are leveraging...
- Adobe Creative Cloud FAQ The following are answers to common questions about Adobe® Creative Cloud™ for teams membership, purchasing, security, and storage.
- What's coming to Adobe Creative Cloud Editing and video content creation workflows are about to get easier and more exciting, with major updates coming soon to Creative Cloud, bringing...
- IBM FlashSystem V840: Leveraging Software-Defined Flash to Drive Your Business With end-to-end, tightly integrated functionality and super-fast flash technology, products like IBM FlashSystem V840 Enterprise Performance Solution empower businesses to leverage the efficiency...
- Leveraging Flash Storage to Accelerate Oracle Real Application Clusters Join this webinar to understand the latest solid-state storage trends, the specific applications driving solid-state storage deployments and the benefits of deploying the... All App Development White Papers | Webcasts