Heute möchte ich euch die HHVM(HipHop Virtual Machine) vorstellen.
Die von Facebook entwickelte HHVM überträgt PHP-Code in Bytecode, welcher dynamisch zur Laufzeit in x64-Maschinensprache durch einen JIT-Compiler übersetzt wird. Dies ist ein vergleichbarer Ansatz wie die virtuellen Maschinen in Java oder C#.
Performance
Performance Beispiel anhand einer Berechnung von Fibonacci Zahlen:
PHP-FPM (Requests pro Sekunde) | HHVM FastCGI (Requests pro Sekunde) | |
---|---|---|
Fib(5): | 13789.24 | 8842.70 |
Fib(15): | 3202.31 | 8892.66 |
Fib(25): | 118.94 | 5581.37 |
Fib(30): | 8.40 | 737.56 |
Quelle: www.hhvm.com
Installation
HHVM kann mit Hilfe von FastCGI mit jedem gängigen Webserver(Apache, Nginx, Lighttpd, etc.) verwendet werden.
Ubuntu 12.04
echo deb http://dl.hhvm.com/ubuntu precise main | sudo tee /etc/apt/sources.list.d/hhvm.list sudo apt-get update sudo apt-get install hhvm
Ubuntu 13.10
echo deb http://dl.hhvm.com/ubuntu saucy main | sudo tee /etc/apt/sources.list.d/hhvm.list sudo apt-get update sudo apt-get install hhvm
Debian 7
echo deb http://dl.hhvm.com/debian wheezy main | sudo tee /etc/apt/sources.list.d/hhvm.list sudo apt-get update sudo apt-get install hhvm
Einrichtung unter Nginx
Folgende Zeilen müssen in der VHOST Konfiguration hinterlegt werden:
root /path/to/your/www/root/goes/here; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /path/to/your/www/root/goes/here$fastcgi_script_name; include fastcgi_params;
Links