Home UPDATE: Facebook Rewrites PHP Runtime With HipHop

UPDATE: Facebook Rewrites PHP Runtime With HipHop

Last night, we reported that Facebook was planning to release a JIT compiler for PHP, a huge step toward making the PHP runtime – and PHP-based sites and apps – faster by taking the interpreted lagnuage (a.k.a., more human-readable code) a few steps closer to the bare-metal ones and zeros machines actually read.

We’ve been updated this morning that the PHP runtime has in fact been rewritten, with an extra step: The PHP is translated to C++ (a more machine-readable language) which is then compiled with g++. This project, called HipHop, has been in development under great secrecy at Facebook for the past couple years and has just this morning been open sourced.

Facebook engineer Haiping Zhao writes, “With HipHop we’ve reduced the CPU usage on our Web servers on average by about fifty percent, depending on the page. Less CPU means fewer servers, which means less overhead.”

We’re sure this is good news for Facebook’s brand new data center, still under construction.

“HipHop executes the source code in a semantically equivalent manner,” Zhao continues, “and sacrifices some rarely used features – such as eval() – in exchange for improved performance.”

He also notes that while interpreted languages such as PHP, Ruby and Python – the languages that, by and large, rule the web of apps and social site we all use today – allow for huge strides in developer productivity, they are also less efficient and often simply slower in runtime. For a huge and ever-growing site such as Facebook, this might have eventually led to scalability issues.

In other words, it cost Facebook less to create a faster PHP runtime than to buy all the servers that would be needed to support hundreds of millions of users without a faster runtime.

“Scaling Facebook is particularly challenging because almost every page view is a logged-in user with a customized experience,” writes Zhao. “When you view your home page we need to look up all of your friends, query their most relevant updates (from a custom service we’ve built called Multifeed), filter the results based on your privacy settings, then fill out the stories with comments, photos, likes, and all the rich data that people love about Facebook. All of this in just under a second.

“HipHop allows us to correct the logic that does the final page assembly in PHP and iterate it quickly while relying on custom back-end services in C++, Erlang, Java or Python to service the News Feed, search, Chat and other core parts of the site.”

Zhao notes that PHP and C++ share relatively similar syntax, although C++ is by far less taxing on system resources. While it would have been impossible to write the codebase by hand, Zhao had been tinkering with programmatically converting PHP to C++ for a few years. He got the idea at a Facebook Hackathon, he said.

UPDATE: Late last night, we pinged PHP creator Rasmus Lerdorf on Twitter, asking for his opinions on the rumored PHP compiler. This morning, he wrote, “I think HipHop is cool and will certainly help the poor people stuck in framework soup.” However, he also noted, “HipHop on simpler template-style PHP pages probably isn’t going to help you too much. It’s not going to make your SQL queries any faster.”

We will update this post as news continues to break.

About ReadWrite’s Editorial Process

The ReadWrite Editorial policy involves closely monitoring the tech industry for major developments, new product launches, AI breakthroughs, video game releases and other newsworthy events. Editors assign relevant stories to staff writers or freelance contributors with expertise in each particular topic area. Before publication, articles go through a rigorous round of editing for accuracy, clarity, and to ensure adherence to ReadWrite's style guidelines.

Get the biggest tech headlines of the day delivered to your inbox

    By signing up, you agree to our Terms and Privacy Policy. Unsubscribe anytime.

    Tech News

    Explore the latest in tech with our Tech News. We cut through the noise for concise, relevant updates, keeping you informed about the rapidly evolving tech landscape with curated content that separates signal from noise.

    In-Depth Tech Stories

    Explore tech impact in In-Depth Stories. Narrative data journalism offers comprehensive analyses, revealing stories behind data. Understand industry trends for a deeper perspective on tech's intricate relationships with society.

    Expert Reviews

    Empower decisions with Expert Reviews, merging industry expertise and insightful analysis. Delve into tech intricacies, get the best deals, and stay ahead with our trustworthy guide to navigating the ever-changing tech market.