Poco sabíamos que, durante los últimos seis meses, Facebook ha utilizado un compilador personalizado para PHP al que denominan "Hip Hop". Esencialmente, toma su código fuente de PHP y lo convierte en C ++, y luego se compila con G ++. Como resultado, lograron reducir su uso de CPU en un 50%. Este proyecto aparentemente ha estado en desarrollo durante los últimos dos años, pero solo hoy se ha entregado a la comunidad.
"HipHop para PHP no es técnicamente un compilador en sí. Más bien es un transformador de código fuente. HipHop transforma programáticamente su código fuente PHP en C ++ altamente optimizado y luego usa g ++ para compilarlo. HipHop ejecuta el código fuente de una manera semánticamente equivalente y "sacrifica algunas funciones que se usan raramente, como eval (), a cambio de un rendimiento mejorado. HipHop incluye un transformador de código, una reimplementación del sistema de tiempo de ejecución de PHP y una reescritura de muchas extensiones PHP comunes para aprovechar estas optimizaciones de rendimiento".
"La escala de Facebook es particularmente desafiante porque casi todas las páginas vistas son usuarios registrados con una experiencia personalizada. Cuando ve su página de inicio, necesitamos buscar a todos sus amigos, consultar sus actualizaciones más relevantes (desde un servicio personalizado, nosotros ' construimos, llamado Multifeed), filtre los resultados según su configuración de privacidad, luego complete las historias con comentarios, fotos, me gusta y toda la rica información que a la gente le gusta de Facebook. Todo esto en un segundo. HipHop nos permite para escribir la lógica que hace el ensamblaje final de la página en PHP e iterarlo rápidamente mientras se confía en los servicios de back-end personalizados en C ++, Erlang, Java o Python para atender el servicio de noticias, búsqueda, chat y otras partes principales del sitio . "
Hip Hop está disponible ahora, y está alojado en Github. Puedes descargarlo aquí.