Friday, July 30, 2010
Ricerca Avanzata 
Directory gratuita www.pelope.it

Facebook diventa più veloce

Gli ingegneri di Facebook il più grande social network del web rilasciano il codice sorgente di un "transcodificare" di script PHP: magicamente trasforma tutto in C++, tagliando della metà i consumi della CPU.
Il nuovo regalo per la community dell'open source da parte dei tipi di Facebook si chiama HipHop, ed è un tool in grado di convertire il codice PHP in sorgenti C++ ottimizzati che vengono infine compilati con GNU C++. Evidenti i vantaggi, vitali per Facebook (soprattutto nella prospettiva di una crescita continua) e, si spera, apprezzabili anche dal resto degli sviluppatori che hanno scelto PHP per i propri progetti web.

Lo svantaggio principale di PHP è la sua tendenza a consumare memoria e a ingolfare la CPU del server su cui viene eseguito lo script, un problema tanto più evidente quanto più il sistema tende a crescere e a scalare in termini di dimensioni e utenza servita.

È possibile usare qualche escamotage per cercare di contenere il problema, ma eliminarlo proprio non si può.
Piuttosto che fare uso di sotterfugi come i plugin esterni, HipHop riduce grandemente la dimensione del problema trasformando il codice interpretato di PHP in codice compilato C++, con un incremento prestazionale che secondo Facebook si misura nel "50%, a seconda comunque della pagina".

Il 50 per cento di CPU utilizzata in meno implica una riduzione proporzionata in spese di hardware e infrastruttura, un risultato che ha avuto "un impatto enorme" su Facebook e che gli ingegneri sperano si ripercuota positivamente anche su quelle grandi realtà del web che fanno ampiamente uso di PHP come Digg e WordPress.
Youtube

L'altro vantaggio non dichiarato della distribuzione di HipHop sotto forma di codice open source è l'aumento di attrattiva, per Facebook, nei confronti degli sviluppatori di app esterne: applicazioni su cui il più grande portale di social networking ripone le speranze di far crescere la propria influenza sul web post-2.0.
Feb 5, 2010