Facebook espera revolucionar PHP con Hip Hop

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

El anuncio

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

Los problemas de Facebook ante PHP

  • No se puede reutilizar la lógica PHP en otros sistemas
  • Las extensiones son más difíciles de escribir para los desarrolladores de PHP
  • Alto uso de la CPU; no puede ser tan eficiente como algo como C++
  • Totalmente poco práctico para reescribir completamente Facebook con un nuevo idioma.

Cómo lo mejoraron

  • Es un transformador de código fuente.
  • Transforma PHP en C ++ optimizado, luego se compila con G++
  • Ha estado en desarrollo por más de dos años..
  • Si has usado Facebook en los últimos seis meses, has experimentado Hip Hop
  • El equipo de Facebook ha registrado una disminución del 50% en el uso de la CPU..
  • Habrán evangelistas dedicados para ayudar a capacitar / familiarizar a la comunidad con el Hip Hop.
  • Si está en un host compartido, utilizando Apache, lo más probable es que desee seguir usando PHP estándar
  • ¿Dónde podemos empezar a jugar con él??

    Hip Hop está disponible ahora, y está alojado en Github. Puedes descargarlo aquí.

    • Síganos en Twitter o suscríbase a Nettuts + RSS Feed para obtener los mejores tutoriales de desarrollo web en la web..