Skip the navigation
)
News

Facebook releases a PHP just-in-time compiler

Facebook finds a new way to render PHP even more quickly

By Joab Jackson
December 9, 2011 02:38 PM ET

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.

PHP was originally designed as a Web scripting language, one used to add dynamic content to Web pages. PHP is a vital part of Facebook, in that it, along with JavaScript, is used to help assemble each user's unique home page. As with code rendered by most scripting languages, however, PHP applications do not run as fast as programs written in full-fledged programming languages such as C++, which are compiled into machine-readable byte code ahead of time.

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.

Joab Jackson covers enterprise software and general technology breaking news for The IDG News Service. Follow Joab on Twitter at @Joab_Jackson. Joab's e-mail address is Joab_Jackson@idg.com

Reprinted with permission from IDG.net. Story copyright 2012 International Data Group. All rights reserved.
What is Tech Briefcase?
TechBriefcase is a new, free service where IT Professionals can Search, Store and Share IT white papers and content like this. Learn more
Bookmark content
Speed up your research efforts with content across the web.
Search and Store
Find the white papers you need. Create folders for any topic.
View Anywhere
Open your briefcase on your iPhone, tablet or desktop. Share with colleagues.
Don't have an account yet?
Additional Resources
Security KnowledgeVault
WHITE PAPER
Security is not an option. This KnowledgeVault Series offers professional advice how to be proactive in the fight against cybercrimes and multi-layered security threats; how to adopt a holistic approach to protecting and managing data; and how to hire a qualified security assessor. Make security your Number 1 priority.

Read now.

Cut Communications Costs Once and for All
WHITE PAPER
New IP-based communications systems are being deployed by small and midsized businesses at a rapid rate. Learn how these organizations are enabling faster responsiveness, creating better customer experiences, speeding office or mobile interactions, and dramatically reducing existing communications costs.

Read now.

App Development White Papers
Workload Automation Challenges and Opportunities
This Executive Brief discusses IDC's perspective on how enterprise workload management requirements are changing and highlights the ways that workload automation solutions can...
Practice Management: Double Billing Rate and Improve Patient Services
Would you like to double your billing rate and achieve faster payment for services?

Download this customer success story to see how One Health...
Mission Critical Data Explosion and Customer Case Study
Would you like to double your tier 1 storage capacity while simultaneously reducing your storage footprint?

Download this customer success story to see how...
Protecting Against Database Attacks and Insider Threats: Top 5 Scenarios
Read this new eBook to learn the top five scenarios and essential best practices for preventing database attacks and insider threats.
Database Activity Monitoring Is Evolving
Read the analyst report and learn how you can leverage the core capabilities of a DAP solution for better database security.
All App Development White Papers
App Development Webcasts
Distributed Database Security with Real-time Monitoring
View this demo and learn how IBM InfoSphere Guardium database activity monitoring can help protect your sensitive data in distributed DBMS environments with...
InfoSphere Warehouse Packs Demo
These flash modules make warehousing more tangible and relevant to business users through detailed explanations of the InfoSphere Warehouse Packs.
Delivery Management -- Extending Lifecycle Management
Date: Wednesday, June 20, 2012, 1:00 PM EDT

Siloed organizations continue doing the wrong things and doing things wrong, leading to increased costs,...
Leverage automation today to reduce IT complexity
Date: Tuesday, June 5, 2012, 2:00 PM EDT

Whether your B2B complexity is caused by multiple technologies due to M&A, business or application specific...
Redefine Expectations in the Data Center
Need to do more with less? Watch this video to learn how HP ProLiant Gen8 servers can help your business deploy servers three...
All App Development Webcasts
Newsletter Sign-Up

Receive the latest news test, reviews and trends on your favorite technology topics

Choose a newsletter
  1. View all newsletters | Privacy Policy
IT Jobs