Facebook is er in geslaagd om php-code negen keer sneller te laten draaien, dankzij gebruik van een just-in-time-compiler en een virtuele machine. De implementatie van Facebook, waarvan de broncode op GitHub is geplaatst, is vooral geschikt voor grote websites.
Normaliter is php een geïnterpreteerde taal, waarbij de php-binary ervoor zorgt dat de code als machinecode wordt uitgevoerd, maar in de implementatie van Facebook wordt de php-code door een just-in-time-compiler naar bytecode vertaald. Omdat bytecode niet rechtstreeks op een cpu kan worden uitgevoerd, wordt die uitgevoerd in een virtuele machine. Die constructie is vergelijkbaar met Java en .NET. De combinatie van de virtuele machine en de just-in-time-compiler wordt door Facebook HipHop Virtual Machine genoemd; sinds dit jaar draait de constructie op alle Facebook-servers.
HHVM, waar Facebook drie jaar aan heeft gewerkt, zorgt ervoor dat php negen keer sneller kan draaien, zo zegt een medewerker van de sociale-netwerksite tegenover ComputerWorld. De virtuele machine is vooral interessant voor grote websites met een zware belasting; voor kleinere websites, zoals een simpel WordPress-blog, schat de Facebook-medewerker dat er sprake is van 'slechts' een vijfvoudige verbetering in snelheid.
De HipHop VM, waarvan de code op GitHub is geplaatst, is de opvolger van een ouder Facebook-project dat eveneens als HipHop door het leven ging. In die implementatie, die inmiddels is uitgefaseerd, werd php gecompileerd naar C++. Dat zorgde voor een verdubbeling van de snelheid van php. De implementatie met de jit-compiler en de virtuele machine blijkt niet alleen sneller, maar ook dynamischer. Het vertalen van php naar C++ is namelijk niet in alle gevallen mogelijk, omdat niet alle mogelijke bewerkingen kunnen worden voorspeld. Voor de jit-compiler hoeft code niet vooraf te worden gecompileerd: dat gebeurt op het moment waarop de code wordt uitgevoerd.