Facebook spera di rivoluzionare PHP con Hip Hop

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. "

L'annuncio

"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 ".

I problemi di Facebook di fronte a PHP

  • Impossibile riutilizzare la logica PHP in altri sistemi
  • Le estensioni sono più difficili da scrivere per gli sviluppatori PHP
  • Elevato utilizzo della CPU; non può essere efficiente come qualcosa come C++
  • Completamente impraticabile per riscrivere completamente Facebook con una nuova lingua

Come lo hanno migliorato

  • È un trasformatore di codice sorgente
  • Trasforma PHP in C ++ ottimizzato, quindi compilato con G++
  • È in sviluppo da oltre due anni.
  • Se hai usato Facebook negli ultimi sei mesi, hai esperienza di Hip Hop
  • Il team di Facebook ha registrato un calo del 50% nell'utilizzo della CPU.
  • Avranno degli evangelisti dedicati per aiutare a formare / familiarizzare la comunità con l'Hip Hop
  • Se sei su un host condiviso, utilizzando Apache, molto probabilmente vorrai continuare a utilizzare PHP standard
  • Dove possiamo iniziare a giocare con esso?

    Hip Hop è ora disponibile ed è ospitato su Github. Potete scaricarlo qui.

    • Seguici su Twitter o iscriviti al feed Nettuts + RSS per i migliori tutorial di sviluppo web sul web.