Facebook håper å revolusjonere PHP med Hip Hop

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

Kunngjøringen

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

Problemene Facebook Faced with PHP

  • Kan ikke gjenbruke PHP logikk i andre systemer
  • Utvidelser er vanskeligere å skrive for PHP-utviklere
  • Høy CPU bruk; Kan ikke være like effektiv som noe som C++
  • Fullstendig upraktisk å skrive om Facebook helt nytt med et nytt språk

Hvordan de forbedret det

  • Det er en kildekode transformator
  • Transformerer PHP til optimalisert C ++, deretter kompilert med G++
  • Har vært i utvikling i over to år.
  • Hvis du har brukt Facebook i løpet av de siste seks månedene, har du erfaring med Hip Hop
  • Facebook-teamet har registrert et 50% reduksjon i CPU-bruk.
  • De vil ha dedikerte evangelister som hjelper til med å trene / bli kjent med fellesskapet med Hip Hop
  • Hvis du er på en delt vert, bruker Apache, vil du mest sannsynlig fortsette å bruke standard PHP
  • Hvor kan vi begynne å spille med den?

    Hip Hop er tilgjengelig nå, og er vert på Github. Du kan laste den ned her.

    • Følg oss på Twitter, eller abonner på Nettuts + RSS-feed for de beste webutviklingsopplæringene på nettet.