Yesterday, Facebook released HipHop for PHP, a compiler which makes native code from PHP sources (via C++ and gcc). They promise twice the speed with that approach, something which helps you a lot if you have 1000s of servers like Facebook. I won’t bore you with the technical details and what it can and can not do as Ilia already summed that up pretty nicely.
We at Liip will certainly look into this technology once it’s available and evaluate if it would makes sense for some of our customers and project. As HipHop is not a drop-in replacement for your existing setup this is something which has to be planned and tested carefully. You have to change the way your servers are setup and the way you develop and deploy. It even needs a server restart, if you change some code, so badmouths can now claim that PHP is even more becoming like Java :)
A high amount of Switzerland’s most visited sites run on PHP (and some of them are even done by or with us) and maybe HipHop could be useful for some of them, after all the usual optimizations (like APC, memcached, etc) didn’t help enough. But for most websites (and more so for small ones), PHP’s speed isn’t really the bottleneck, it’s the database or some other external dependency. And for these cases HipHop isn’t the holy grail. So before you change all your setup to fit into HipHop’s requirements, do some decent evaluations, what really is the bottleneck in your application and decide accordingly.
Great news for the php community!
Isn’t the idea behind HipHop that development hardly has to change? Sure, you can’t use eval and you may be restricted to certain extensions (though that’s likely to be a big number), but other than that what do you need to change in developing your PHP application?