HipHop for PHP
Transcompilador / De Wikipedia, la enciclopedia encyclopedia
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 | ||
HipHop for PHP | HHVM | |
Enlaces | ||
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.[1][2][3][4][5] 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.[3] 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.[6] 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.