Weinig wisten we dat Facebook de afgelopen zes maanden gebruik heeft gemaakt van een aangepaste compiler voor PHP die ze 'Hip Hop' noemen. In wezen heeft het je PHP-broncode nodig, en converteert het naar C ++, en wordt het vervolgens gecompileerd met G ++. Als gevolg hiervan zijn ze erin geslaagd hun CPU-gebruik met 50% te verminderen. Dit project is blijkbaar de afgelopen twee jaar in ontwikkeling geweest, maar is pas vandaag vrijgegeven aan de gemeenschap.
"HipHop voor PHP is technisch gezien geen compiler zelf, maar een broncodetransformator.HhipHop transformeert uw PHP-broncode programmatisch in zeer geoptimaliseerde C ++ en gebruikt vervolgens g ++ om het te compileren. HipHop voert de broncode op een semantisch equivalente manier uit en offert een aantal zelden gebruikte functies - zoals eval () - in ruil voor betere prestaties.HhipHop bevat een codetransformator, een herimplementatie van PHP's runtime-systeem en een herschrijving van veel voorkomende PHP-extensies om te profiteren van deze prestatie-optimalisaties. "
"Het verkleinen van Facebook is bijzonder uitdagend, omdat bijna elke paginaweergave een ingelogde gebruiker met een aangepaste ervaring is.Wanneer u uw startpagina bekijkt, moeten we al uw vrienden opzoeken, hun meest relevante updates opvragen (van een aangepaste service die we hebben ' heb gebouwd met de naam Multifeed), filter de resultaten op basis van je privacy-instellingen en vul de verhalen in met opmerkingen, foto's, vind-ik-leuks en alle rijke gegevens die mensen leuk vinden over Facebook. Dit alles in iets minder dan een seconde. om de logica te schrijven die de uiteindelijke paginasamenstelling in PHP doet en deze snel te herhalen terwijl ze vertrouwt op aangepaste back-endservices in C ++, Erlang, Java of Python voor het onderhouden van de nieuwsfeed, zoeken, chatten en andere kerngedeelten van de site ."
Hip Hop is nu beschikbaar en wordt gehost op Github. Je kunt het hier downloaden.