Il team di Facebook ha rilasciato HHVM 4.0, la nuova stable release della macchina virtuale basata sulla compilazione just-in-time (JIT). HHVM (Hip Hop Virtual Machine) viene utilizzata come motore di esecuzione per i linguaggi di programmazione PHP e Hack.
JIT vs. engine
Questo progetto open source è sostanzialmente una "higher-performance PHP implementation" che mira appunto a migliorare le prestazioni del codice degli script Hack, un linguaggio sviluppato da Facebook e basato proprio su PHP.
HHVM sfrutta il modello di compilazione JIT, il codice PHP o Hack viene prima convertito in bytecode HipHop (HHBC) e successivamente tradotto dinamicamente in linguaggio macchina x86-64. Infine, dopo aver subito questo processo di ottimizzazione, viene eseguito nativamente sulla piattaforma software prescelta.
Questa procedura è molto diversa da quella prevista per PHP che invece basa la sua esecuzione su un interprete.
Più Hack meno PHP
Una delle novità principali di HHVM 4.0 è la parziale rimozione del supporto a PHP. Anche se in questa versione è ancora possibile eseguire script realizzati in questo linguaggio, nelle prossime build questa funzionalità non sarà più disponibile.
In HHVM 4.0 sono state rimosse diverse funzionalità relative agli array PHP che non sono presenti nativamente su Hack. Il team di sviluppo ha deprecato anche varie reference di PHP e alcune funzioni di manipolazione del caller frame.
La rimozione del supporto a PHP fa parte di una strategia a lungo termine adottata da Facebook volta a potenziare Hack. PHP 7.x dispone infatti di un interprete molto più performante rispetto al passato e il team di HHVM, invece di focalizzarsi sulla compatibilità con quest'ultimo, ha scelto di proseguire nello sviluppo del suo linguaggio di riferimento, Hack.
Probabilmente Facebook ha optato per tale soluzione per rendere l'evoluzione dei propri progetti più indipendente da PHP e per modellare la propria piattaforma nel modo più consono alle sue esigenze.
Via HHVM