Lite visste vi at Facebook i de siste seks månedene har benyttet seg av en egendefinert kompilator for PHP som de refererer til som "Hip Hop". I hovedsak tar det PHP-kildekoden, og konverterer den til C ++, og kompileres deretter med G ++. Som et resultat har de klart å redusere CPU-bruken med 50%. Dette prosjektet har tilsynelatende vært i utvikling de siste to årene, men har i dag kun blitt utgitt til samfunnet.
"HipHop for PHP er ikke teknisk en kompilator selv. Det er snarere en kildekode transformator. HipHop forvandler programmatisk PHP-kildekoden til svært optimalisert C ++ og bruker deretter g ++ til å kompilere den. HipHop kjører kildekoden på en semantisk tilsvarende måte og ofre noen sjeldent brukte funksjoner - for eksempel eval () - i bytte for forbedret ytelse. HipHop inkluderer en kodetransformator, en reimplementering av PHPs runtime-system og en omskrivning av mange vanlige PHP-utvidelser for å utnytte disse ytelsesoptimaliseringene. "
"Scaling Facebook er spesielt utfordrende fordi nesten alle sidevisninger er en innlogget bruker med en tilpasset opplevelse. Når du ser på hjemmesiden din, må vi slå opp alle vennene dine, spørre deres mest relevante oppdateringer (fra en egendefinert tjeneste vi" ve bygget med navnet Multifeed), filtrer resultatene basert på personverninnstillingene dine, og fyll ut historiene med kommentarer, bilder, liker og alle de rike dataene som folk elsker om Facebook. Alt dette på like under et sekund. HipHop tillater oss å skrive logikken som gjør den endelige sidemonteringen i PHP og gjenkjenne den raskt mens du stole på egendefinerte back-end-tjenester i C ++, Erlang, Java eller Python for å betjene nyhetsfeed, søk, chat og andre kjerneområder på nettstedet ."
Hip Hop er tilgjengelig nå, og er vert på Github. Du kan laste den ned her.