HipHop for PHP
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.[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.
Referencias
editar- ↑ Haiping Zhao (2 de febrero de 2010). «HipHop for PHP: Move Fast». Facebook. Consultado el 2 de agosto de 2014.
- ↑ Drew Paroski (29 de noviembre de 2012). «Speeding up PHP-based development with HHVM». Facebook. Consultado el 2 de agosto de 2014.
- ↑ Paul Tarjan (13 de mayo de 2013). «Joining, Retirement, Testing, and Bankruptcy». hhvm.com. Consultado el 2 de agosto de 2014.
- ↑ «OOPSLA '12 Paper». Consultado el 23 de mayo de 2013.
- ↑ Guilherme Ottoni (12 de marzo de 2013). «The HipHop Compiler for PHP». OOPSLA 2012. Consultado el 23 de mayo de 2013.
- ↑ a b «FOSDEM 2013 Interview». Consultado el 23 de mayo de 2013.
- ↑ «HipHop for PHP: Benchmark». Archivado desde el original el 16 de mayo de 2011. Consultado el 23 de mayo de 2013.
- ↑ «Drupal 7: HipHop for PHP vs APC – benchmark». Archivado desde el original el 19 de mayo de 2011. Consultado el 23 de mayo de 2013.
- ↑ «Announcement on GitHub removing HPHPc support». github.com. Facebook. 19 de febrero de 2013. Consultado el 24 de mayo de 2013.
Véase también
editar- Portal:Programación. Contenido relacionado con Programación.
Enlaces externos
editar- HipHop Compiler for PHP? Transforming PHP into C++ en YouTube., by Haiping Zhao
- The HipHop Compiler for PHP, OOPSLA 2012, by Guilherme Ottoni et al.
- Scaling with HipHop , PHP UK Conference 2013, by Sara Goleman