HipHop for PHP

Transcompilador

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 Facebook
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
  1. Haiping Zhao (2 de febrero de 2010). «HipHop for PHP: Move Fast». Facebook. Consultado el 2 de agosto de 2014. 
  2. Drew Paroski (29 de noviembre de 2012). «Speeding up PHP-based development with HHVM». Facebook. Consultado el 2 de agosto de 2014. 
  3. Paul Tarjan (13 de mayo de 2013). «Joining, Retirement, Testing, and Bankruptcy». hhvm.com. Consultado el 2 de agosto de 2014. 
  4. «OOPSLA '12 Paper». Consultado el 23 de mayo de 2013. 
  5. Guilherme Ottoni (12 de marzo de 2013). «The HipHop Compiler for PHP». OOPSLA 2012. Consultado el 23 de mayo de 2013. 
  6. a b «FOSDEM 2013 Interview». Consultado el 23 de mayo de 2013. 
  7. «HipHop for PHP: Benchmark». Archivado desde el original el 16 de mayo de 2011. Consultado el 23 de mayo de 2013. 
  8. «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. 
  9. «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

Enlaces externos

editar