Wat is HHVM?

10 augustus, 2014
Vragen & antwoorden
PHP, HHVM, Hack

HHVM is een afkorting van HipHop Virtual Machine, een zogeheten just-in-time (JIT) compiler voor de scriptingtaal PHP, en voor Hack, een afgeleide van PHP. Deze software werd door Facebook ontwikkeld om de uitvoering van PHP-scripts — waar de sociale netwerksite mee gebouwd is — efficiënter te maken.

Het just-in-time-principe houdt in dat het script of programma, in dit geval bestaande uit PHP- of Hack-code, door de software pas gecompileerd wordt naar een voor de computer begrijpelijke taal op het moment dat het wordt uitgevoerd, in plaats van op voorhand na een of meerdere wijzigingen in het script. De meeste compilers voor PHP werken volgens dit principe. Het team achter HHVM probeert dit proces zoveel mogelijk te versnellen, onder meer door PHP eerst te vertalen naar tussenliggende HipHop bytecode (HHBC), wat geoptimaliseerd kan worden voordat het naar machinecode wordt omgezet.

HHVM, waarvan in 2011 de eerste publieke versie werd uitgebracht, kan als vervanger dienen voor Zend Engine, één van de de meestgebruikte PHP-interpreters, en via (Fast)CGI met een webserver zoals nginx of Apache communiceren. Het is echter ook vanaf de commandoregel te gebruiken. HHVM is de opvolger van HPHPc, eveneens door Facebook ontwikkeld, wat PHP omzette naar C++ maar uiteindelijk niet genoeg ruimte bood voor verdere optimalisatie.

Het doel van HHVM is om uiteindelijk voor 100% compatibel met PHP te zijn, te beginnen met de populairste contentmanagementsystemen en PHP-frameworks. Daarnaast is HHVM het vehikel voor Hack, de door Facebook ontwikkelde "nieuwe versie" van PHP met ondersteuning voor gradual typing.