HHVM is a new open-source virtual machine designed for executing programs written in PHP. HHVM uses a just-in-time compilation approach to achieve superior performance while maintaining the flexibility and ease of use that PHP developers are accustomed to (dynamic features like eval(), rapid run-edit-debug cycle, etc).
HHVM is used by Facebook to serve billions of web requests per day. To date, HHVM (and its predecessor HPHPc before it) has realized over a 9x increase in web request throughput and over a 5x reduction in memory consumption for Facebook compared with the Zend PHP 5.2 engine + APC.
If you would like to report a bug or are having difficulty using HHVM, find us in the #hhvm chat room on freenode or open a github issue here. We are also happy to review and take code contributions here.
One of the explicit design goals of HHVM was the ability to continue writing complex logic directly within PHP. Companies with large PHP codebases will generally rewrite their complex functionality directly as PHP extensions in either C or C++. Doing so ends up reducing the number of people who are able to work on the company’s entire codebase. By keeping this logic in PHP, Facebook is able to move fast and maintain a high number of engineers who are able to work across the entire codebase.
Prebuilt (64-bit) packages for some distributions are available as shown below:
HHVM is currently under heavy development and at present we only actively test on the Ubuntu distribution. Building procedures should be fairly similar on other linux distros.
Here are some guides for how to get HHVM up and running on your distro:
Mac OS X and FreeBSD are not officially supported or tested but for those who want to experiment or help out:
The wiki content is licensed under Creative Commons Attribution-ShareAlike License
Last edited by Sean Cannella,