Facebook's HipHop 2.0 Virtual Machine Is Very Fast
Phoronix: Facebook's HipHop 2.0 Virtual Machine Is Very Fast
Released last month by Facebook was their open-source HipHOp "HHVM" 2.0 virtual machine. Benchmarks of HHVM at Phoronix show that the code does live up to Facebook's performance claims...
Perhaps in a couple of years, I shouldn't be embarrased anymore for being a PHP-developer.
awesome. want to try this out and see how it functions in apache / nginx with wordpress sites
Before you can run HHVM you have to play Farmville on it and share with a *related friend*
Will it run faster if I pay to 'Promote'?
This is really a great accomplishment, and I can guess more than one will be looking into installing this on their servers.
A few things do trouble me however. It is weird that facebook doesn't even try to contribute this back to the PHP developers, surely there is much that can be merged and benefited from.
Also why develop their own bytecode interpreter / JIT compiler when they could just use LLVM for this?
I'm guessing that Facebook tries to remain in control of their stack, but duplication of effort on something that's open-source anyway is just puzzling.
I wonder what the LIST_AVAILABLE_SUITES code is doing PHP 5.5 took only 1 second more than hiphop.
It would be interesting to see a performance test of facebook hiphop vs php 5 + opcode cache.
By the way there seem to be a lot of PHP haters out there but it is running about 70% of all websites on the wild so it seems to have something good
Hi there! I work on HipHop VM at Facebook and own a share of the credit/blame for HHVM's design and implementation.
Originally Posted by etenil
On your question about open-source, back in 2007 and 2008 Facebook contributed several patches back to Zend PHP 5.2 that delivered non-trivial performance improvements (something to the tune of 5-10% CPU reduction for FB's codebase IIRC), while at the same time we also experimenting with other available PHP engines and prototyping HPHPc (the old HipHop PHP->C++ compiler which has since been retired). After a certain point it became hard to get more gains from the Zend engine unless we substantially changed the core of the engine, and by early to mid 2009 HPHPc was getting close to being able to run Facebook's site and was looking promising.
IHMO, we *are* giving back to the PHP community by open-sourcing HipHop VM, making it freely available to use, and having some engineers dedicated full-time to responding to issues reported by developers outside of Facebook. We're dedicated to maintaining a high compatibility bar with the Zend PHP engine; we want HipHop VM to be useful to developers outside of Facebook and we're slowing growing a community around it.
On your LLVM question, we commonly get asked why we didn't use LLVM. In short, LLVM was not suitable for serving as the backend for JIT compiler when we started working on HipHop VM in 2010, and it still is lacking in this respect today. There's also advantages to owning our entire compiler stack as it gives us for flexibility to squeeze out the maximum possible performance for our PHP codebase in the long run. The Google developers who worked on Unladen Swallow (an execution engine for Python) did a nice write-up where they talked about a lot of the issues they ran into when trying to use LLVM as the backend for a JIT compiler: http://qinsb.blogspot.com/2011/03/un...ospective.html .
Can it run any unmodified php script?
Pardom my ignorance but does this means it can run any php script with out modification?
Originally Posted by phoronix
technically yes, all core php extensions as some other ones have been ported to hiphop, also it supports all PHP language features with partial support for namespaces (which are currently been worked and improved)
Originally Posted by adrianbro
You may need to change certain things on some scripts but is most case they are minor.
So one more question
So the process would be to install Apache2 (or some other web Server) php5 mysql then hiphop. Or does hiphop replace the web server and php.
Originally Posted by TheOne