Facebook lance une machine virtuelle PHP avec compilateur just in time

En ajoutant une machine virtuelle à son projet HipHop for PHP, Facebook propose un produit plus souple, qui pourra remplacer efficacement le traducteur fourni jusqu’alors.

Début 2010, Facebook avait créé l’événement en proposant un outil permettant de transformer du code PHP en C++, puis de le compiler. Très efficace, cette solution allège la charge des serveurs de la firme. Elle manque toutefois de souplesse. Les développeurs de Facebook corrigent aujourd’hui le tir avec hhvm, l’HipHop Virtual Machine.

Cette machine virtuelle génère du code intermédiaire, l’HipHop bytecode (HHBC), à partir d’un listing PHP. Deux moteurs peuvent exécuter ces instructions HHBC. Le premier est un simple interpréteur, qui se montre d’ores et déjà 1,6 fois plus rapide que l’interpréteur hphpi proposé précédemment par Facebook.

Un moteur alternatif pour PHP ?

Au besoin, un compilateur just-in-time prend le relai afin de proposer des performances plus élevées. S’il ne fournit pas du code aussi optimisé qu’hphpc, il rattrape rapidement son retard et devrait à terme remplacer son ainé.

La sortie de HipHop for PHP en 2010 a été une annonce forte. Toutefois, les gains en performance proposés alors par cette offre et son manque de souplesse n’ont pas su convaincre les développeurs. Avec sa machine virtuelle PHP, Facebook propose enfin une solution capable de s’imposer plus largement. Plus de détails sur le fonctionnement d’hhvm se trouvent sur cette page web.