The goal of this ticket is to try to make all our unit + plugins + integration tests pass when Piwik runs HHVM virtual machine. This would lead to CPU performance improvements as well as potentially some improvements in memory usage.
Follows up #4706, #4604
What is HHMV?
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.
Original ticket as reported by @hpvd:
Maybe it's worth having al look on HHVM "HipHop Virtual Machine for PHP" and test Piwik using it.
For other projects there seem to be some really great speed improvements/lowering of server load using it.
At this time it's getting more and more compatible to several php base projects...
good decription in german: http://www.golem.de/news/hhvm-facebooks-jit-compiler-fuer-php-ist-schneller-und-kompatibler-1312-103511.html
In 6c66d03d13b68b8b60b53f0c05c359a462ca576f: Refs #4415 Enable HHVM build on Travis, I expect some tests will fail so let's allow failures. Exciting...
Increasing priority of tickets in alignment with our vision of a powerful open platform
There was a bug reported in #4706 Trying to add two strings values in DataTable\Row::sumRowArray - Piwk with HHVM
In 0cf26d7cc06848dcddb2c7a4a62338ef2102607f: Merge pull request #317 from soukiii/master
MySQL port should be always integer (HHVM compatibility) refs #4415
Thanks for the pull request!
I think this bug can be closed. I am using Piwik + nginx + HHVM for the last month with 4 websites and around 250k requests per day. Everything works correctly and cpu usage is 5% tops.
@asafyish this issue is about running the tests against HHVM (and having them pass).
We likely won't run the automated tests suite on HHVM as our build times and number of build jobs is very precious (since we often need to wait for those builds etc.). We can reopen if it changes in the future