Documentation

Problems with HHVM

Advanced

Clone this wiki locally

HHVM is an open-source virtual machine designed for executing programs written in Hack and PHP 5 and 7. 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.

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. We are also happy to review and take code contributions.

Why HHVM

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.