stringtranslate.com

HipHop para PHP

HipHop para PHP ( HPHPc ) es un transpilador PHP descontinuado creado por Facebook . Al usar HPHPc como compilador de código fuente a código fuente , el código PHP se traduce a C++ , se compila en un binario y se ejecuta como ejecutable , a diferencia de la ruta de ejecución habitual de PHP, en la que el código PHP se transforma en códigos de operación y se interpreta . HPHPc consta principalmente de códigos fuente de C++, C y PHP, y es un software gratuito y de código abierto distribuido bajo la Licencia PHP .

La motivación original detrás de HipHop era ahorrar recursos en los servidores de Facebook, dada la gran base de código PHP de facebook.com. A medida que avanzaba el desarrollo de HipHop, se comprendió que HipHop podía aumentar sustancialmente la velocidad de las aplicaciones PHP en general. Se han observado aumentos en el rendimiento de generación de páginas web por factores de hasta seis en comparación con Zend PHP. [4] [5] [6] [7] [8] Un objetivo declarado de HPHPc era proporcionar un alto nivel de compatibilidad para Zend PHP, donde la mayoría de los programas PHP basados ​​en Zend se ejecutan sin modificaciones en HPHPc. [6] HPHPc se convirtió originalmente en código abierto a principios de 2010. [1]

Como complemento a HPHPc, los ingenieros de Facebook también crearon un "modo de desarrollador" de HipHop (versión interpretada de un motor de ejecución PHP, conocido como HPHPi ) y el depurador de HipHop (conocido como HPHPd ). Estas adiciones permiten a los desarrolladores ejecutar código PHP a través de la misma lógica proporcionada por HPHPc, al mismo tiempo que hacen posible depurar código PHP de forma interactiva definiendo relojes , puntos de interrupción , etc. La ejecución del código a través de HPHPi produce un rendimiento menor en comparación con HPHPc, pero los beneficios para el desarrollador hicieron que, en ese momento, valiera la pena tener que mantener estos dos motores de ejecución para producción y desarrollo. HPHPi y HPHPd también se convirtieron en código abierto en 2010. [1]

En muchos sentidos, HPHPc cumplió sus objetivos, especialmente dentro de Facebook, ya que permitió que facebook.com funcionara mucho más rápido y utilizara menos recursos. Sin embargo, a principios de 2013, Facebook desaprobó HPHPc en favor de HipHop Virtual Machine (HHVM), que es un motor de ejecución basado en compilación just-in-time (JIT) para PHP, también desarrollado por Facebook. [2] [9] Hubo muchas razones para esto; una de ellas fue la curva aplanada de HPHPc para futuras mejoras de rendimiento. Además, HPHPc no era totalmente compatible con el lenguaje PHP, incluidas las construcciones create_function()y eval(), e implicaba un proceso de implementación específico que consumía tiempo y recursos y que requería que se compilara y distribuyera un binario de más de 1 GB a muchos servidores en poco tiempo. Además, mantener HPHPc y HPHPi en paralelo (como era necesario para la consistencia de los entornos de producción y desarrollo) se estaba volviendo engorroso. Finalmente, HPHPc no era un reemplazo directo para Zend, lo que requería que los clientes externos cambiaran todos sus procesos de desarrollo e implementación para usar HPHPc. [2]

Véase también

Referencias

  1. ^ abc Haiping Zhao (2 de febrero de 2010). "HipHop para PHP: muévete rápido". Facebook . Consultado el 2 de agosto de 2014 .
  2. ^ abc Drew Paroski (29 de noviembre de 2012). "Aceleración del desarrollo basado en PHP con HHVM". Facebook . Consultado el 2 de agosto de 2014 .
  3. ^ Paul Tarjan (13 de mayo de 2013). "Ingreso, jubilación, pruebas y quiebra". hhvm.com . Consultado el 2 de agosto de 2014 .
  4. ^ "Documento OOPSLA '12" . Consultado el 23 de mayo de 2013 .
  5. ^ Guilherme Ottoni (12 de marzo de 2013). "El compilador HipHop para PHP". OOPSLA 2012 . Consultado el 23 de mayo de 2013 .
  6. ^ ab "Entrevista FOSDEM 2013" . Consultado el 23 de mayo de 2013 .
  7. ^ "HipHop para PHP: evaluación comparativa". Archivado desde el original el 16 de mayo de 2011. Consultado el 23 de mayo de 2013 .
  8. ^ "Drupal 7: HipHop para PHP vs APC – benchmark". Archivado desde el original el 2011-05-19 . Consultado el 2013-05-23 .
  9. ^ "Anuncio en GitHub que elimina el soporte para HPHPc". github.com . Facebook . 2013-02-19 . Consultado el 2013-05-24 .

Enlaces externos