HipHop para PHP ( HPHPc ) es un transpilador PHP descontinuado creado por Facebook . Al utilizar HPHPc como un 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 del código PHP que se transforma en códigos de operación y se interpreta . 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 .
Desarrollador (es) | |
---|---|
Versión inicial | 2 de febrero de 2010 [1] |
Lanzamiento final | |
Repositorio | |
Escrito en | C ++ , C , PHP |
Sucesor | H HVM |
Licencia | Licencia PHP |
Sitio web | github |
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 en factores de hasta seis en 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] El HPHPc originalmente fue de código abierto a principios de 2010. [1]
Además de 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 mientras hacen posible depurar de forma interactiva el código PHP definiendo relojes , puntos de interrupción , etc. Ejecutar el código a través de HPHPi produce un rendimiento menor en comparación con HPHPc, pero los beneficios para el desarrollador fueron , en ese momento, vale la pena tener que mantener estos dos motores de ejecución para la producción y el desarrollo. HPHPi y HPHPd también fueron de código abierto en 2010. [1]
Según muchas cuentas, HPHPc cumplió sus objetivos, especialmente dentro de Facebook, ya que permitió que facebook.com se ejecutara mucho más rápido con menos recursos. Sin embargo, a principios de 2013, Facebook rechazó HPHPc en favor de la máquina virtual HipHop (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; uno de ellos fue la curva plana de HPHPc para mejorar 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 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 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 para Zend, requiriendo que los clientes externos cambiaran todos sus procesos de desarrollo e implementación para usar HPHPc. [2]
Ver también
Referencias
- ↑ a b c Haiping Zhao (2 de febrero de 2010). "HipHop para PHP: muévase rápido" . Facebook . Consultado el 2 de agosto de 2014 .
- ^ a b c Drew Paroski (29 de noviembre de 2012). "Acelerando el desarrollo basado en PHP con HHVM" . Facebook . Consultado el 2 de agosto de 2014 .
- ^ Paul Tarjan (13 de mayo de 2013). "Incorporación, jubilación, pruebas y quiebra" . hhvm.com . Consultado el 2 de agosto de 2014 .
- ^ "Papel OOPSLA '12" . Consultado el 23 de mayo de 2013 .
- ^ Guilherme Ottoni (12 de marzo de 2013). "El compilador HipHop para PHP" . OOPSLA 2012 . Consultado el 23 de mayo de 2013 .
- ^ a b "Entrevista FOSDEM 2013" . Consultado el 23 de mayo de 2013 .
- ^ "HipHop para PHP: Benchmark" . Archivado desde el original el 16 de mayo de 2011 . Consultado el 23 de mayo de 2013 .
- ^ "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 .
- ^ "Anuncio sobre GitHub eliminando el soporte HPHPc" . github.com . Facebook . 2013-02-19 . Consultado el 24 de mayo de 2013 .
enlaces externos
- ¿Compilador HipHop para PHP? Transformando PHP en C ++ en YouTube , por Haiping Zhao
- El compilador HipHop para PHP , OOPSLA 2012, por Guilherme Ottoni et al.
- Escalado con HipHop en YouTube, Conferencia PHP Reino Unido 2013, por Sara Goleman