stringtranslate.com

Hip Hop para PHP

HipHop para PHP ( HPHPc ) es un transpilador de PHP descontinuado creado por Facebook . Al utilizar HPHPc como compilador de fuente a 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, que consiste en transformar el código PHP en códigos de operación e interpretarlo . HPHPc consta principalmente de códigos fuente 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 dio cuenta de 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 en 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 fue originalmente de 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 de 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 y al mismo tiempo hacen posible depurar el 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 los desarrolladores fueron , en ese momento, valía la pena tener que mantener estos dos motores de ejecución para producción y desarrollo. HPHPi y HPHPd también fueron de código abierto en 2010. [1]

Según muchos, 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 dejó de utilizar HPHPc en favor de HipHop Virtual Machine (HHVM), que es un motor de ejecución basado en compilación justo a tiempo (JIT) para PHP, también desarrollado por Facebook. [2] [9] Hubo muchas razones para esto; uno de ellos fue la curva aplanada de HPHPc para mejorar aún más el 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 requería compilar y distribuir un binario de más de 1 GB a muchos servidores en poco tiempo. Además, mantener HPHPc y HPHPi en paralelo (como debían ser, para la coherencia de los entornos de producción y desarrollo) se estaba volviendo engorroso. Finalmente, HPHPc no fue un reemplazo directo de Zend, lo que requirió que los clientes externos cambiaran todos sus procesos de desarrollo e implementación para usar HPHPc. [2]

Ver también

Referencias

  1. ^ abc Haiping Zhao (2 de febrero de 2010). "HipHop para PHP: muévase rápido". Facebook . Consultado el 2 de agosto de 2014 .
  2. ^ abc Drew Paroski (29 de noviembre de 2012). "Acelerar el desarrollo basado en PHP con HHVM". Facebook . Consultado el 2 de agosto de 2014 .
  3. ^ Paul Tarjan (13 de mayo de 2013). "Incorporación, jubilación, pruebas y quiebras". 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: punto de referencia". 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 - punto de referencia". Archivado desde el original el 19 de mayo de 2011 . Consultado el 23 de mayo de 2013 .
  9. ^ "Anuncio en GitHub que elimina la compatibilidad con HPHPc". github.com . Facebook . 2013-02-19 . Consultado el 24 de mayo de 2013 .

enlaces externos