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.248842.70
Fib(15):3202.318892.66
Fib(25):118.945581.37
Fib(30):8.40737.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