PHP es sin dudas uno de los lenguajes de programaciones más populares y utilizados en el mundo del hosting y por supuesto en Internet en general. A través de los años han surgido distintas herramientas que permiten interpretar código PHP, y hoy vamos a darle un vistazo a tres de ellas para decidir cuál es la mejor. a través de una comparación de: PHP7 vs HHVM vs PHP-FPM.
PHP 7
PHP 7 es considerada por muchos cmo la mejor versión de PHP hasta ahora: es la que provee mayor cantidad de funciones, es la que ha recibido más parches de seguridad y por sobre todo es la más rápido, y en esto último hay que hacer mucho énfasis, ya que se estima que es el doble de rápida en comparación a PHP 5.6.
HHVM
HHVM está basado en JIT y funciona como una máquina virtual, enfocada en la ejecución de dos lenguajes de programación: Hack y PHP, aunque por supuesto a nosotros nos interesa solo este último por ahora. HHVM nació en 2011 y es desarrollado por Facebook, así que está en muy buenas manos. En los últimos años ha ganado popularidad gracias a su gran performance.
PHP-FPM
PHP-FPM nació como una alternativa de FastCGI. Se trata de un motor de PHP que es usado a menudo en servidores que no disponen de uno integrado en el servidor web (ejemplo Nginx). Su activo desarrollo y alta performance le hicieron ganarse un lugar en los repos oficiales de PHP desde hace muchos años.
Ahora que ya conocemos un poco más de cada uno, vamos a realizar una comparación de estos tres motores de PHP.
[wp-svg-icons icon=»rocket» wrap=»i»] PHP7 vs HHVM vs PHP-FPM: Rendimiento
El ganador absoluto en este departamento es HHVM. Si lo comparamos con un PHP-FPM que corra bajo PHP 5.6.x o anterior, es capaz de brindarnos hasta el doble de rendimiento, mientras que frente a PHP 7.x aún mantiene la delantera, aunque por muy poco.
[wp-svg-icons icon=»pie» wrap=»i»] PHP7 vs HHVM vs PHP-FPM: Compatibilidad
Un problema que mucha gente ha encontrado al correr HHVM es la falta de compatibilidad con algunos scripts populares, incluyendo plugins de WordPress que funcionan perfectamente con PHP-FPM o con PHP 7.
El hecho de no ser tan popular como los otros dos es algo que le juega en contra, aunque estamos seguros de que se irá remediando con el paso del tiempo.
[wp-svg-icons icon=»wrench» wrap=»i»] PHP7 vs HHVM vs PHP-FPM: Instalación y configuración
PHP 7 y FPM son motores muy versátiles, y tanto su instalación como configuración resultan procesos sencillos en varios sistema, incluso si no tenemos muchos conocimientos en la materia.
Con HHVM ocurre lo contrario, ya que su proceso de instalación se puede complicar bastante en algunos ambientes, así que no es una herramienta que sea recomendada para quienes no saben exactamente qué están haciendo. Otro detalle que evidentemente mejorará con el tiempo, pero por ahora no podemos decir que sea fácil de instalar.
[wp-svg-icons icon=»bars» wrap=»i»] PHP7 vs HHVM vs PHP-FPM: Benchmarks
La verdadera comparación aquí está entre los dos primeros, ya que PHP-FPM dependerá directamente de la versión de PHP que tengamos instalada, y no tiene sentido compararlo corriendo en PHP 5.6.x porque su performance siempre será más baja.
Los chicos de WPOven estuvieron realizando un LoadStorm que arroja resultados bastante interesantes como pueden ver aquí abajo. Los tiempos de respuesta fueron mucho mejores para HHVM.
JeffGeerling.com también corrió pruebas con PHP 5.6.x, PHP 7.x y HHVM 3.11.x, y los resultados hablan por si solos.
HHVM aplastó por completo a un PHP 5.6, y también ganó con una buena ventaja frente a PHP 7.
Finalmente tenemos un test de Kinsta.com que compara HHVM 3.10.x y PHP 7.x (este último con y sin Opcache).
Como se puede ver, nuevamente HHVM sale victorioso, esta vez por un margen considerable si dejamos a Opcache fuera de juego, aunque por muchos menos si es utilizado junto a PHP 7.
Resumiendo, HHVM lleva la delantera.
Conclusión
Como hemos visto en nuestro versus PHP 7 vs HHVM vs PHP-FPM, cada sistema tiene sus ventajas y desventajas. Lo principal a comparar aquí es qué estamos buscando: si queremos a toda costa un mayor rendimiento, sin importar los problemas que podamos tener en el camino, entonces HHVM es la mejor apuesta.
Por otro lado, si no nos importa tener un rendimiento un poco menor, y preferimos una instalación y configuración más sencilla de nuestro motor de PHP, entonces PHP 7 es la mejor opción.
¿Qué hay de ti? ¿Ya probaste PHP7 o HHVM? ¿Cuáles fueron tus resultados?