Non sapevamo che, negli ultimi sei mesi, Facebook ha fatto uso di un compilatore personalizzato per PHP che chiamano "Hip Hop". Essenzialmente, prende il tuo codice sorgente PHP e lo converte in C ++, e viene quindi compilato con G ++. Di conseguenza, sono riusciti a ridurre l'utilizzo della CPU del 50%. Questo progetto è apparentemente in fase di sviluppo da due anni, ma è stato rilasciato solo oggi alla comunità.
"HipHop per PHP non è tecnicamente un compilatore stesso, è piuttosto un trasformatore di codice sorgente, HipHop trasforma il codice sorgente PHP in C ++ altamente ottimizzato e quindi utilizza g ++ per compilarlo. HipHop esegue il codice sorgente in modo semanticamente equivalente e sacrifica alcune caratteristiche usate di rado - come eval () - in cambio di prestazioni migliorate HipHop include un trasformatore di codice, una reimplementazione del sistema di runtime di PHP e una riscrittura di molte estensioni PHP comuni per sfruttare queste ottimizzazioni delle prestazioni. "
"Scalare Facebook è particolarmente difficile perché quasi ogni visualizzazione di pagina è un utente che ha effettuato l'accesso con un'esperienza personalizzata. Quando visualizzi la tua home page, dobbiamo cercare tutti i tuoi amici, interrogare i loro aggiornamenti più rilevanti (da un servizio personalizzato che abbiamo ve creato chiamato Multifeed), filtra i risultati in base alle tue impostazioni sulla privacy, quindi riempi i racconti con commenti, foto, mi piace e tutti i ricchi dati che la gente ama su Facebook.Tutto ciò in meno di un secondo. per scrivere la logica che fa l'assemblaggio finale della pagina in PHP e iterarlo velocemente, affidandosi a servizi back-end personalizzati in C ++, Erlang, Java o Python per servire Feed di notizie, ricerca, chat e altre parti principali del sito ".
Hip Hop è ora disponibile ed è ospitato su Github. Potete scaricarlo qui.