Facebook es uno de los sitios web más concurridos del planeta, de hecho, según el ranking de Alexa es el segundo dominio con más tráfico de internet. Esta red social se encuentra desarrollada en PHP, lo que demuestra la gran escalabilidad que puede llegar a tener esta tecnología.
Los ingenieros de Facebook, se han tenido que enfrentar a muchos problemas a la hora de mantener en pie su portal, y uno de ellos es la cantidad de CPU usada por PHP, que al tratarse de un lenguaje dinámico requiere un mayor uso de la CPU para ejecutar el código. Para optimizar este proceso, los ingenieros de Facebook han creado el proyecto «HipHop for PHP».
HipHop for PHP analiza el código fuente en PHP y lo convierte en un código C++ que se compila con g++. Este código C++ se ejecuta como extensión de PHP, es decir, lo que se ejecuta es una dll, un binario ejecutable, y no se tiene que interpretar el código cada vez que se hace una petición.
Con este sistema han logrado reducciones de uso de CPU de hasta el 50%, que es un resultado más que interesante.
Pese a lo interesante que parece, el sistema acaba de ser anunciado y no es perfecto, por lo que si nuestro código hace uso de funciones PHP propias de lenguajes dinámicos, como eval(), o create_function(), HipHop no será capaz de transformar el código fuente, aunque se está trabajando en soportar estas funciones.
¿Te imaginas el core de Joomla optimizado con HipHop? ¿Te imaginas poder instalar una extensión de PHP que ejecute toda la lógica de CMS’s como Joomla o WordPress reduciendo en un 50% el uso de CPU? En un futuro es posible, quien sabe.
En Ustream puedes ver el video de la presentación en inglés.