A Facebook piace HipHop
La grande piattaforma per il social networking ha annunciato la disponibilità, sotto licenza open source, di HipHop l’ambiente runtime per PHP su cui ha già migrato il 90% dei propri sistemi.
Si tratta di una sorta di revisione e di manipolazione di PHP che fornisce un risparmio di prestazioni fino al 50%, senza che il grosso delle applicazioni debba essere riscritto.
Praticamente gli sviluppatori di Facebook hanno creato, pare in collaborazione col team di PHP, un modo per creare del codice compilato, tipo C++, partendo dal linguaggio di scripting di PHP. Tecnicamente HipHop non è un compilatore, ma è un trasformatore di codice sorgente: trasforma il codice PHP in codice C++ ottimizzato e poi usa g++ per compilarlo.
Stiamo parlando quindi della differenza che ci può essere, a livello di prestazioni, tra linguaggio interpretato e linguaggio compilato: si fa presto a capire perché si riesce a recuperare fino al 50% del tempo macchina!
Per poter fare questo lavoro sono state re-implementate molte delle più comuni estensioni PHP e anche il sistema di runtime stesso.
Se pensate che i datacenter di Facebook sono composti da più di 30.000 server potete capire la proporzione di questa innovazione per quanto riguarda le prestazioni, i costi in generale e l’impatto energetico/ambientale.
PHP è un linguaggio abbastanza semplice da imparare ed usare ma per quanto riguarda le prestazioni e le ottimizzazioni su progetti così grossi si può fare ben poco o nulla (i vari software di ottimizzazione esistenti non sono di aiuto in questi casi).
Se volete entrare un po’ più nei dettagli tecnici di HipHop vi rimando a questo link: http://developers.facebook.com/news.php?blog=1&story=358.
Se invece volete provare HipHop è disponibile tramite git qui: http://developers.facebook.com/hiphop-php/.
