(apologies for cross-posting)

I'm happy to announce that HHVM is available on all Wikimedia wikis for intrepid beta testers. HHVM, you'll recall, is an alternative runtime for PHP that provides substantial performance improvements over the standard PHP interpreter. Simply put: HHVM is software that runs on Wikimedia's servers to make your reading and editing experience faster.

You can read more about HHVM here: https://www.mediawiki.org/wiki/HHVM

* How do I enable HHVM?

You can enable HHVM by opting in to the beta feature. This short animated gif will show you how: <http://people.wikimedia.org/~ori/hhvm_beta.gif>.

Enabling the beta feature will set a special cookie in your browser. Our servers are configured to route requests bearing this cookie to a pool of servers that are running HHVM.

* How do I know that it's working?

Opting-in to the beta feature does not change the user interface in any way. If you like, you can copy the following code snippet to the global.js subpage of your user page on MetaWiki:

https://meta.wikimedia.org/wiki/User:Ori.livneh/global.js

If you copy this script to your global.js, the personal bar will be annotated with the name of the PHP runtime used to generate the page and the backend response time. It looks like this:

http://people.wikimedia.org/~ori/hhvm_script.png

Edits made by users with HHVM enabled will be tagged with 'HHVM'. The tag is there as a precaution, to help us clean up if we discover that HHVM is mangling edits somehow. We don't expect this to happen.

* What sort of performance changes should I expect?

We expect HHVM to have a substantial impact on the time it takes to load, preview, and save pages.

At the moment, API requests are not being handled by HHVM. Because VisualEditor uses the API to save articles, opting in to the HHVM beta feature will not impact the performance of VisualEditor. We hope to have HHVM handling API requests next week.

* What sort of issues might I encounter?

Most of the bugs that we have encountered so far resulted from minute differences in how PHP5 and HHVM handle various edge-cases. These bugs typically cause a MediaWiki error page to be shown.

If you encounter an error, please report it on Bugzilla and tag with it the 'HHVM' keyword.


We're not done yet, but this is an important milestone. The roll-out of HHVM as a beta feature caps many months of hard work from many developers, both salaried and volunteer, from the Wikimedia Foundation, Wikimedia Deutschland, and the broader Wikimedia movement.  I want to take this opportunity to express my appreciation to the following individuals, listed in alphabetical order:

Aaron Schulz, Alexandros Kosiaris, Brad Jorsch, Brandon Black, Brett Simmers, Bryan Davis, Chad Horohoe, Chris Steipp, Erik Bernhardson, Erik Möller, Faidon Liambotis, Filippo Giunchedi, Giuseppe Lavagetto, Greg Grossmeier, Jack McBarn, Katie Filbert, Kunal Mehta, Mark Bergsma, Max Semenik, Niklas Laxström, Rob Lanphier, and Tim Starling.

More good things to come! :)