Puțin știam că, în ultimele șase luni, Facebook a folosit un compilator personalizat pentru PHP pe care îl numesc "Hip Hop". În esență, este nevoie de codul sursă PHP și îl convertește în C ++ și este apoi compilat cu G ++. Ca urmare, au reușit să reducă utilizarea procesorului cu 50%. Acest proiect se pare că a fost în curs de dezvoltare în ultimii doi ani, dar a fost lansat astăzi doar în comunitate.
"HipHop pentru PHP nu este din punct de vedere tehnic un compilator în sine, ci mai degrabă un transformator de cod sursă.HipHop transformă în mod programatic codul sursă PHP într-un C ++ optimizat și apoi folosește g ++ pentru ao compila.HipHop execută codul sursă într-o manieră echivalentă din punct de vedere semantic sacrifică unele caracteristici rar folosite - cum ar fi eval () - în schimbul unei performanțe îmbunătățite. HipHop include un transformator de cod, o reimplementare a sistemului de runtime al PHP și o rescriere a multor extensii comune PHP pentru a profita de aceste optimizări de performanță.
"Scaling Facebook este o provocare deosebită deoarece aproape fiecare vizualizare de pagină este un utilizator înregistrat cu o experiență personalizată. Când vizualizați pagina de pornire, trebuie să căutați toți prietenii dvs., să căutați cele mai relevante actualizări (dintr- ve built, numit Multifeed), filtrați rezultatele pe baza setărilor dvs. de confidențialitate, apoi completați povestirile cu comentarii, fotografii, plăceri și toate datele bogate pe care le iubesc pe Facebook în legătură cu toate acestea în doar câteva secunde. să scrieți logica care face ansamblul final al paginii în PHP și să o iterați rapid, în timp ce se bazează pe servicii back-end personalizate în C ++, Erlang, Java sau Python pentru a servi fluxul de știri, căutarea, chatul și alte părți de bază ale site-ului .“
Hip Hop este disponibil acum și este găzduit pe Github. Puteți descărca aici.