HipHop for PHP (HPHPc) es un transcompilador PHP descontinuado creado por Facebook. Mediante la utilización de HPHPc,el código PHP es traducido a código C++, y compilado como ejecutable, opuesto a la usual ejecución de PHP, donde el código es transformado en opcode e interpretado. HPHPc consiste mayormente en C++, C y código fuente PHP, el cual es distribuido bajo la Licencia PHP.
HipHop for PHP | |||||
---|---|---|---|---|---|
Información general | |||||
Tipo de programa | sistema en tiempo de ejecución | ||||
Desarrollador | |||||
Modelo de desarrollo | Código abierto | ||||
Licencia | Licencia PHP | ||||
Información técnica | |||||
Programado en | |||||
Versiones | |||||
Última versión estable | 3.15.028 de septiembre de 2016 | ||||
Lanzamientos | |||||
| |||||
Enlaces | |||||
Sitio web oficial
Repositorio de código
| |||||
Las motivaciones originales detrás de HipHop fue salvar recursos en los servidores de Facebook, dada la extensa cantidad de código que mueve a facebook.com. A medida que el desarrollo de HipHop progresaba, se determinó que este podía incrementar sustancialmente el rendimiento de las aplicaciones PHP en general; se ha observado un rendimiento en la generación de páginas web hasta seis veces superior comparado con el Motor Zend de PHP.[4][5][6][7][8] Uno de los objetivos de HPHPc fue proveer alta compatibilidad para el motor Zend, donde la mayoría de los programas basados en PHP-Zend puedan ejecutarse sin modificaciones.[6] HPHPc fue originalmente liberado como código abierto en 2010.
Como agregados a HPHPc, los ingenieros de Facebook también crearon un "modo desarrollador" de HipHop (una versión interpretada del motor de ejecución de PHP, conocido como HPHPi), y el Depurador HipHop (conocido como HPHPd). Estos agregados permitían a los desarrolladores correr código PHP a través de la misma lógica provista por HPHPc mientras permitía depurar el código PHP interactivamente definiendo inspectores de código, interruptores de ejecución, etc. La ejecución de código a través de HPHPi muestra menor rendimiento comparado con HPHPc, pero beneficia a los desarrolladores de tener ambos motores en funcionamiento, uno para desarrollo y el otro en producción. HPHPi y HPHPd se publicaron como código abierto en 2010.
HPHPc cumplió cabalmente sus metas, especialmente en conjunto con Facebook permitiendo que facebook.com corriera mucho más rápido y utilizando menos recursos. Sin embargo, en 2013, Facebook dejó HPHPc obsoleto en favor de su nuevo producto, HipHop Virtual Machine (HHVM), el cual es un compilador basado en just-in-time (JIT) de PHP, también desarrollado por Facebook.[9] Hay varias razones para esto; una de ellas es que la curvatura de mejoras de rendimiento de HPHPc fue decayendo. Además, HPHPc no tenía soporte completo para PHP, incluyendo los constructores create_function() y eval(), e implicaba gran consumo de tiempo y recursos requeridos para generar binarios compilados de más de 1 GB, los cuales debían ser distribuidos entre los servidores de Facebook en corto tiempo. Adicionalmente, mantener código HPHPc y HPHPi en paralelo (necesario para mantener la consistencia entre los entornos de desarrollo y producción) se volvió engorroso. Finalmente, HPHPc no fue un reemplazo directo del motor Zend, requiriendo que los consumidores cambiasen los procesos de desarrollo y despliegue.