RIP HHVM. The time has come to bid farewell to HHVM when it comes to powering your WordPress sites. We will no longer be supporting or offering HHVM at Kinsta. It was never officially supported and the team over at WordPress stopped testing it over a year ago. Due to increasing compatibility issues and performance degradation, it’s no longer a viable option for production WordPress sites. Therefore, we will be phasing out HHVM as of August 20th, 2018, for all clients. So mark your calendars! ?
If you’re currently using HHVM on your sites, check out more details below regarding how this change impacts you and what you need to do. We also discuss why this isn’t a negative change.
Background of HHVM
Before we dive into why HHVM is going away, let’s take a quick look at why Kinsta started offering it in the first place.
It all started with a little (or what used to be little) site called Facebook. ? It was originally written in PHP and when the site started to take off the computational power that was needed to serve all the requests was off the charts. This was mainly due to the inefficiencies of PHP execution engines that were available at that time. So the engineers and developers over at Facebook came up with a brilliant idea. Instead of simply buying more servers, why not solve the problem at a software level?
So they created a PHP to C++ compiler named HPHPc. The original PHP code was compiled into executable binaries (sometimes file sizes reaching as much as a gigabyte!) and it was run instead of being compiled to opcodes and interpreted.
This resulted in about six times the performance, which is huge! Six times faster may not sound like a lot, but if you look at it the following way, it might help put it in perspective. Instead of having to buy 600 servers to power a web service you only need 100. That’s pretty incredible savings simply due to the fact that you simply changed the way you run the code.
However, as you can imagine, running and maintaining separate developer and debugger versions of HipHop (called HPHPi and HPHPd, respectively), plus distributing gigabytes of executables to each machine after just a couple of changes in the code (think bug fixes), quickly became tiresome and challenging.
So in 2013 Facebook decided to deprecate HPHPc, but recycle the code and the experiences they gained from having it in production for at least three years and launch the HipHop Virtual Machine (HHVM). This engine converted PHP to bytecode which is then converted into 64bit machine code at runtime by a just-in-time (JIT) compiler. This, in turn, resulted in even greater performance gains! ?
Many demanding and high-traffic sites at Kinsta have utilized HHVM over the years and have seen incredible decreases in load times. HHVM also enables object caching, which is an internal caching system that was introduced by WordPress to store data from the database in PHP memory. This increases database efficiency by reducing the number of database calls and speeds up PHP execution times. This means that HHVM has always been great for more dynamic sites that have a lot of uncacheable content.
But unfortunately, with all that being said, HHVM has run its course when it comes to WordPress. We’ll dive into why below.
HHVM is No Longer an Option for WordPress
Here are just a few of the many reasons why HHVM is no longer a suitable technology for WordPress or Kinsta clients.
First off, it’s important to note that HHVM in fact, was never officially supported by WordPress. It was made compatible thanks to some members of the WordPress core team who were obsessed with speed (#27881). Some WordPress hosting providers, such as Kinsta, then made this available (we launched it in 2016) to clients to take advantage of the additional performance gains.
WordPress actually stopped including HHVM as part of its core testing infrastructure as of May 2017 (over a year ago). Here is what John Blackbourn, a WordPress Core Developer had to say about it:
If you’re running a WordPress website on HHVM, you should consider switching to PHP 7+ which is far more widely supported and tested, and offers all of the memory and performance benefits that HHVM pushed forward.
Due to HHVM no longer being tested by members of the WordPress core team, bugs and compatibility issues have started to emerge. Many of these we have witnessed first-hand (#8194). What started as a trickle of failures nearly a year ago has become a steady stream of failures with the latest version of HHVM, and they are now affecting the functionality of popular third-party WordPress plugins and themes. Therefore, HHVM is no longer a stable or suitable solution for WordPress sites.
Beyond support for HHVM hosting, our PHP vs HHVM benchmarks have shown that PHP 7.2 actually performs faster than HHVM. For the first time ever, PHP took the trophy in all the tests; which included a standalone WordPress site, WooCommerce, and Easy Digital Downloads. ?
Therefore we recommend using PHP 7.2 for the best performance. We currently offer PHP 5.6, 7.0, 7.1 and 7.2 in the MyKinsta dashboard. You can easily switch between PHP engines with a single click.
HHVM End-of-Life (EOL)
Below are all the details and deadlines in regards to our phasing out of HHVM.
- As of June 15th, 2018, switching to HHVM will no longer be available from the MyKinsta dashboard. Important: If you move away from HHVM after this date you will no longer be able to switch back.
- On August 20th, 2018, we will phase out HHVM completely. This means that all HHVM sites will be switched to PHP 5.6+ and HHVM will be completely removed from the MyKinsta dashboard.
Moving From HHVM to PHP
Kinsta routinely upgrades server-side software to keep things up-to-date, not only for the most basic reason of security but also for performance.
As with any piece of software, PHP has a release lifecycle which it has to adhere to in order to keep pushing things forward and making improvements. Each major release of PHP is typically fully supported for two years after its release. During that time, bugs and security issues are fixed and patched on a regular basis.
As you can see above, PHP 5.6 and 7.0 will be phased out in a similar fashion toward the end of the year. That is why we highly recommend moving to a higher version of PHP as soon as possible, preferably PHP 7.1 or 7.2.
To help with your transition, we’ve put together a tutorial on how to test and move your site properly from HHVM to PHP. Remember, some plugins or themes might have compatibility issues with newer versions of PHP, so you should follow the steps we’ve outlined to ensure a smooth transition without downtime. That is also another reason why we are giving you a heads up! To test before the deadline.
WordPress has had a good run with HHVM and for many of you it has provided blazing fast speeds! But not to worry, you should see similiar performance on PHP 7.2, and in a lot of cases, even faster speeds. In the long run, we are excited about this change. For one, it means no more confusion between which PHP engine you should use for your site. It also means more time will be spent improving the core PHP language in terms of performance on the WordPress platform.
If you have any thoughts or concerns about us phasing out HHVM, please feel free to reach out to our support team 24×7. We would also love to hear your feedback below in regards to making the switch to PHP.