Articulo de referencia

Hip Hop para PHP

{{cite web\n | url = https://www.facebook.com/notes/facebook-engineering/hiphop-for-php-move-fast/280583813919\n | title = HipHop for PHP: Move Fast\n | date = 2010-02-02 | acce...

HipHop for PHP ( HPHPc ) es un transpilador de 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 un ejecutable , a diferencia del proceso de ejecución habitual de PHP, donde el código PHP se transforma en códigos de operación y se interpreta . HPHPc consta principalmente de código fuente en C++, C y PHP, y es software libre y de código abierto distribuido bajo la Licencia PHP .

La motivación original detrás de HipHop fue ahorrar recursos en los servidores de Facebook, dado el gran código base PHP de facebook.com. A medida que el desarrollo de HipHop progresó, 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 de hasta seis veces en comparación con Zend PHP. [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] Un objetivo declarado de HPHPc fue 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 ]

Además de HPHPc, los ingenieros de Facebook también crearon un "modo desarrollador" de HipHop (una versión interpretada de un motor de ejecución de PHP, conocida como HPHPi ) y el depurador de HipHop (conocido como HPHPd ). Estas adiciones permiten a los desarrolladores ejecutar código PHP con la misma lógica que proporciona HPHPc, a la vez que posibilitan la depuración interactiva del código PHP mediante la definición de puntos de interrupción , etc. La ejecución del código a través de HPHPi ofrece un rendimiento inferior en comparación con HPHPc, pero las ventajas para el desarrollador justificaban, en aquel momento, el mantenimiento de estos dos motores de ejecución para producción y desarrollo. HPHPi y HPHPd también se publicaron como código abierto en 2010. [ 1 ]

Según muchos testimonios, HPHPc cumplió sus objetivos, especialmente dentro de Facebook, ya que permitió que facebook.com funcionara mucho más rápido utilizando menos recursos. Sin embargo, a principios de 2013, Facebook dejó de dar soporte a HPHPc en favor de HipHop Virtual Machine (HHVM), 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; una de ellas fue la curva de rendimiento estancada de HPHPc para futuras mejoras. Además, HPHPc no era totalmente compatible con el lenguaje PHP, incluyendo las construcciones create_function()y eval(), e implicaba un proceso de despliegue específico que consumía mucho tiempo y recursos, ya que 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 era necesario para la coherencia de los entornos de producción y desarrollo) se estaba volviendo engorroso. Finalmente, HPHPc no era un reemplazo directo para Zend, lo que obligaba a los clientes externos a cambiar todos sus procesos de desarrollo y despliegue para usar HPHPc. [ 2 ]

Véase también

Referencias

  1. 1 2 3 Haiping Zhao (2010-02-02). "HipHop para PHP: Muévete rápido" . Facebook . Recuperado el 2014-08-02 .
  2. 1 2 3 Drew Paroski (29-11-2012). "Acelerando el desarrollo basado en PHP con HHVM" . Facebook . Recuperado el 02-08-2014 .
  3. Paul Tarjan (13 de mayo de 2013). "Incorporación, jubilación, pruebas y bancarrota" . 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. 1 2 "Entrevista FOSDEM 2013" . Recuperado el 23 de mayo de 2013 .
  7. "HipHop para PHP: Benchmark" . Archivado del original el 16 de mayo de 2011. Consultado el 23 de mayo de 2013 .
  8. "Drupal 7: HipHop para PHP vs APC – benchmark" . Archivado del original el 19 de mayo de 2011. Consultado el 23 de mayo de 2013 .
  9. "Anuncio en GitHub eliminando el soporte para HPHPc" . github.com . Facebook . 19 de febrero de 2013. Consultado el 24 de mayo de 2013 .
  • ¿Compilador de HipHop para PHP? Transformando PHP en C++ en YouTube , por Haiping Zhao
  • El compilador HipHop para PHP , OOPSLA 2012, por Guilherme Ottoni et al.
  • Cómo escalar con HipHop en YouTube , Conferencia PHP UK 2013, por Sara Goleman