Ojo, no estamos hablando del break-dance, sino del recientemente anunciado proyecto open source de Facebook. HipHop es un “source code transformer”, un transformador de código, diseñado para reducir el uso del CPU y Memoria, convirtiendo nuestro código PHP en código C++.
Para entender lo que esto podría ayudarnos, necesitamos conocer algunos bits sobre el funcionamiento de PHP.
PHP es un lenguaje de script, como Ruby, Python o Perl, magnífico para incrementar la productividad de los desarrolladores, ya que no se necesita compilar el código; pero, el lado negativo de esta flexibilidad es su menor performance. Con un “scripting language” se requiere un CPU más potente y más memoria que con un lenguaje tipo C++...
Así pues, lo que HipHop hace es transformar el código PHP en código C++, el que puede ser compilado por un controlador (código máquina). La idea es que esto no se este realizando durante el desarrollo, sino que cuando vayamos a implementar el trabajo, lo compilemos en un código C++ superior.
HipHop incrementa el rendimiento
- Web – 50% menos uso de CPU con el mismo tráfico
- API – 30% menos uso de CPU con el doble de tráfico
El incremento del rendimiento que Facebook ha visto esta basado en su propia experiencia, cuando convirtieron más del 90% de sus servidores aHipHop (en los últimos seis meses).
Los beneficios anunciados están divididos en dos categorías, el entorno Web y el entorno API, y los beneficios para cada uno. El entorno web redujo el 50% de la carga del servidor con la misma cantidad de conexiones, y el entorno API disminuyó en 30%, a pesar de que se incrementó el tráfico al doble. La diferencia se explica porque el entorno Web requiere mayor presentación, lógica y más datos abstractos que el entorno API.
¿Cuál es el truco?
Hay que evitar el uso de algunas funciones, como eval() y create_function(). Cómo la naturaleza de estas funciones es dinámica, el equipo de HipHop no ha podido transformarlas en código C++; sin embargo, estas funciones son poco usados en la mayoría de aplicaciones PHP.
Actualmente, el código de HipHop tiene que correr a través de un servidor HTTP personalizado con HipHop; sin embargo, usar el código de HipHop con Apache es algo elevado en la hoja de ruta del desarrollo.
Que HipHop incremente la performance de nuestro código PHP no significa necesariamente que nuestra aplicación corra como una bala de plata; ya que por ejemplo, si uno tiene cuellos de botella con el rendimiento de la base de datos, puesHipHop poco podría ayudarnos con ello.
¿Dónde podemos descargarlo?
0 comentarios:
Publicar un comentario