HipHop from Facebook May Solidify PHP's Leadership Position for Web Development

Analysis of News Events
Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

The newly released open-source code transformer converts PHP to C++ and makes large, complex PHP Web sites run much faster.

 

If ever there were an example of an enterprise-level PHP application, Facebook is it. The social networking super-site serves more than 400 billion PHP-based page views per month, proving beyond question that PHP is suitable for scaling large Web applications—or does it?

 

Ironically, it may have been around the 300-billion-page-view mark that Facebook developers finally cried uncle. PHP—a scripting language—just couldn't keep up with all the traffic. Well, it could with enough hardware behind it, but scaling Facebook was becoming a challenging undertaking by any account.

 

Essentially, every page view represented a logged-in user with a custom experience. What is happening in the background when a user views his home page is this: the application looks up all of the person's friends, queries relevant updates, filters results based on privacy settings, and finally completes the user's stories with comments and photos. Facebook does this all in less than a second. This doesn't even take into account other core parts of the site involving the news feed, search engine, chat feature, and other goodies.

 

Someone out there probably is reading this and thinking, "I bet they were sorry they ever started down the road with PHP! They should have picked a traditional compiled language or at least an interpreted language—not a scripting language."

 

Actually, Facebook management is not sorry it developed its site with PHP. The simple-to-learn language has given them something that has been a key to their success: speed. A Facebook senior engineer, Haiping Zhao, writing in a company blog, describes how for the past six years PHP has allowed Facebook developers to do far more than they could have accomplished otherwise, thanks to PHP's support of rapid application development. Using PHP has created an environment in which new engineers at the company can ramp up far faster than they could have using a more traditional language. PHP has given Facebook an edge on innovation.

 

Nevertheless, with 400 billion page views per month, PHP was starting to wheeze. Even on smaller sites, finding new ways to improve PHP performance has been the equivalent of searching for the Holy Grail. It certainly has been job one at Zend Technologies. At runtime, Zend Engine turns PHP source code into opcodes that are then put through the Zend Virtual Machine. Many PHP Web sites use accelerators that cache this output, and Zend Server makes PHP run faster through opcode optimization and caching. Zend Core, which allows PHP to run native on IBM i, fulfills this role.

 

But Facebook was past the point where such measures would result in significant acceleration. The company started looking at actually compiling PHP source into another language so it could be turned into native machine code. As it turns out, compiling PHP isn't really a new idea. Several open-source projects—such as Roadsend and phc—compile PHP into C, while Quercus compiles PHP into Java—go figure. Phalanger compiles PHP to .NET.

 

Facebook decided to transform PHP into C++, but to do that, the company had to put on its thinking cap (drum roll, please). Two years later, the result achieved by of some very bright and very determined developers is what is now being called HipHop for PHP. Facebook developers wrote over 300,000 lines of code and did 5,000 unit tests. It took a few years, but today, Facebook is serving more than more than 90 percent of its Web traffic using HipHop. As a result, CPU usage on Facebook servers has dropped by an average of 50 percent, thanks to HipHop.

 

The company was so pleased with the results it achieved from HiipHop that it decided the Web community at large should benefit. Last month, it released HipHop as open source in the hope of reinforcing the idea that PHP is a great language to build large complex scalable Web sites.

 

What is HipHop, and how does it work? HipHop apparently is not actually a compiler but a source code transformer. It programmatically transforms PHP source into highly optimized C++. Then, it uses g++ to compile it. HipHop includes a code transformer, a reimplementation of PHP's runtime system, and a rewrite of many common PHP extensions. HipHop also includes a new Web server that is said to simplify Apache Web server and thus help increase performance. The main PHP 5.2 language remains essentially the same, save for a few missing features that Facebook says are rarely used.

 

Since HipHop allows for the scaling of very large Web sites, it probably won't find much traction in the average SMB Web site. It may be more of an academic novelty than a practical tool that forever changes the face of PHP development. However, it most certainly will change the debate about PHP that today seems to run endlessly in circles: is it or isn't it suitable for large enterprise Web sites? It seems those for it have it locked. Facebook, however, says HipHop is still in beta and will require more work, presumably from them or others in the PHP community. Developers at Zend Technologies currently are evaluating HipHop to see how its technology can be best adapted to the business and developer communities.

 

Meanwhile, Zend has released the results of a worldwide survey that suggests many more developers soon will acquire Zend Framework certification. Today, only about 5 percent of PHP developers are certified in Zend Framework despite the fact that 70 percent of PHP developers use it for business-critical applications. Parenthetically, some 85 percent have chosen Linux as their primary operating system for PHP applications.

 

Regardless of where PHP heads this year, it's clear the demand for online training and certification will go nowhere but up, and that is good news for Zend.

 

Facebook says that HipHop will be available for download through github.com.

Chris Smith

Chris Smith was the Senior News Editor at MC Press Online from 2007 to 2012 and was responsible for the news content on the company's Web site. Chris has been writing about the IBM midrange industry since 1992 when he signed on with Duke Communications as West Coast Editor of News 3X/400. With a bachelor's from the University of California at Berkeley, where he majored in English and minored in Journalism, and a master's in Journalism from the University of Colorado, Boulder, Chris later studied computer programming and AS/400 operations at Long Beach City College. An award-winning writer with two Maggie Awards, four business books, and a collection of poetry to his credit, Chris began his newspaper career as a reporter in northern California, later worked as night city editor for the Rocky Mountain News in Denver, and went on to edit a national cable television trade magazine. He was Communications Manager for McDonnell Douglas Corp. in Long Beach, Calif., before it merged with Boeing, and oversaw implementation of the company's first IBM desktop publishing system there. An editor for MC Press Online since 2007, Chris has authored some 300 articles on a broad range of topics surrounding the IBM midrange platform that have appeared in the company's eight industry-leading newsletters. He can be reached at This email address is being protected from spambots. You need JavaScript enabled to view it..

BLOG COMMENTS POWERED BY DISQUS

LATEST COMMENTS

Support MC Press Online

$

Book Reviews

Resource Center

  •  

  • LANSA Business users want new applications now. Market and regulatory pressures require faster application updates and delivery into production. Your IBM i developers may be approaching retirement, and you see no sure way to fill their positions with experienced developers. In addition, you may be caught between maintaining your existing applications and the uncertainty of moving to something new.

  • The MC Resource Centers bring you the widest selection of white papers, trial software, and on-demand webcasts for you to choose from. >> Review the list of White Papers, Trial Software or On-Demand Webcast at the MC Press Resource Center. >> Add the items to yru Cart and complet he checkout process and submit

  • SB Profound WC 5536Join us for this hour-long webcast that will explore:

  • Fortra IT managers hoping to find new IBM i talent are discovering that the pool of experienced RPG programmers and operators or administrators with intimate knowledge of the operating system and the applications that run on it is small. This begs the question: How will you manage the platform that supports such a big part of your business? This guide offers strategies and software suggestions to help you plan IT staffing and resources and smooth the transition after your AS/400 talent retires. Read on to learn: