Xenforo on HHVM

DRE

Well-known member
Any of you got Xenforo running on Facebook's HHVM Virtual Machine? It has no namespace support which will only affect certain addons but I have no idea which addons it would affect. I made a paid request earlier about moving from shared hosting to VPS but now I'm thinking of experimenting with HHVM. I will either install it myself and experiment and if it gets to confusing I'll pay someone to do it. I just like experimenting and want to try something new.

http://xenforo.com/community/threads/facebook-makes-php-9x-faster-via-virtual-machine.55754/
http://www.pcworld.com/article/2045353/facebook-invents-a-php-virtual-machine.html
"HipHop 2.1.0 released on GitHub[1] and as a prebuilt Ubuntu package[2]. As always, let us know if you have any trouble!"

https://www.facebook.com/hphp
[1] https://github.com/facebook/hiphop-php/releases/tag/HPHP-2.1.0
[2] http://dl.hiphop-php.com/ubuntu/
http://en.wikipedia.org/wiki/HipHop_for_PHP
https://github.com/facebook/hiphop-php/wiki/Prebuilt-Packages-on-Ubuntu-12.04
 
I will either install it myself and experiment and if it gets to confusing I'll pay someone to do it. I just like experimenting and want to try something new.
Grab you a low end VPS and set it up. Doesn't look like it would be that hard to do (and I may try it out on my 2GB VPS that I have running my WordPress blogs).
 
I have a free machine someone can use with a static ip to test this out on if they want. Its a cheap old windows 7 computer but it runs an xampp server on it just fine. I am very interested in this being that it can speed up a system. If your interested just inbox me.
 
XenForo does a couple of things that probably don't play nicely with the current version of HHVM.
  • The usage of extract() to push a hash table of template variables into the function as local variables will hurt performance.
  • When templates are written to file, All templates are actually injected into the same class method via include(). Which makes some classes of optimizations for that function vastly harder.
  • Eval() to create class proxies which aren't persisted, means class type data is constantly churning.
Reference

The dynamic aspects of php are the hardest to optimize for, and XF already does a bunch of things to reduce the performance penalty of permitting a highly dynamic system.
 
Back
Top Bottom