Programación

Por qué deberíamos actualizar a PHP 7

El pasado 3 de diciembre de 2015 salió a la luz la última gran versión de PHP, la 7.0.0. Como en cada gran versión, se introducen cambios importantes; algunos en forma de nuevas funcionalidades, otros en la gestión interna del propio PHP, y otros, cambios en la gestión del propio código que lo hacen incompatible con la versión anterior (aunque los pasos para adaptarlo suelen ser sencillos).

Está claro que cuando se lanza una versión menor es importante actualizar, puesto que corrige fallos de todo tipo (cuelgues, fallos de seguridad, etc.), pero para actualizar a una versión mayor suele haber reticencias. Si funciona, no lo toques, ¿no? Bueno, pues esto no es lo ideal. Sobre todo si se tiene la intención de crecer en visitas y la página es algo más que cuatro líneas de código.

Durante años PHP creció en popularidad por su fácil implementación, su agilidad y versatilidad para desarrollar todo tipo de proyectos. Algunos, tan importantes como Facebook, Flickr o Wikipedia, lo eligieron por este motivo. Pero toda esta agilidad de desarrollo viene con una contrapartida: el impacto en el rendimiento es notable cuando las visitas se incrementan. Facebook lo solucionó de una manera ingeniosa; creó una máquina virtual que convertía el código PHP en lenguaje máquina, estableciendo una sinergia entre el código PHP y el hardware que lo ejecutaba, a la que llamó HipHop Virtual Machine (HHVM). Es decir, creó un nuevo intérprete de PHP, que compilaba el código, para luego ejecutarlo como si fuera C++. Esto aumentó el la capacidad de tráfico entre un 500% y un 600% sin tocar el código (o lo que es lo mismo, ahorró 6 veces el coste en servidores). Y ¿qué tiene que ver esto con PHP 7? La respuesta es que Facebook publicó esta máquina HHVM como código abierto y la comunidad la utilizó para implementar muchas de sus mejoras en el motor interno de PHP 7.

Como podemos ver en el test, el resultado final es un rendimiento casi idéntico a la solución de la máquina virtual, con la ventaja de tenerlo implementado directamente en PHP, sin más. Y como nos dicen en la página oficial de PHP, PHP 7 es hasta el doble de rápido que PHP 5.6.

Antes hemos comentado que las visitas se podían incrementar hasta un 600% con el mismo impacto en el rendimiento, pero ahora estamos mostrando que PHP7 es “sólo” un 100% más rápido que PHP 5.6. No hay ningún error; el tiempo de respuesta del servidor se empieza a incrementar cuando las visitas se duplican, ciertamente, pero se incrementa muchísimo menos que en versiones anteriores.

En el siguiente gráfico podemos ver la relación entre el tiempo de respuesta y las visitas simultáneas.

Pero no sólo la velocidad ha mejorado. Según nos cuentan en php.net, el uso de memoria en esta nueva versión se ha visto reducido significativamente. En un test realizado para Moodle 3.0, a parte de duplicar la velocidad, el uso de memoria se redujo en un 40%.

Por si todo esto fuera poco, como en cada gran versión, aparecen mejoras y nuevas funcionalidades para los desarrolladores, lo que se traduce en un desarrollo más ágil, reusable y escalable. Concretamente, PHP 7 nos trae dos grandes funcionalidades: declaraciones de variables de tipo escalar (string, int, float y bool) y clases anónimas.

No dejes de echarle un ojo a todas las nuevas funcionalidades de PHP 7
¿Lo has ido dejando, y te has perdido todas las novedades desde hace un tiempo? Aquí te dejamos la lista de cambios de las últimas versiones:

Nuevas funcionalidades de PHP 5.6

Nuevas funcionalidades de PHP 5.5

Nuevas funcionalidades de PHP 5.4

Nuevas funcionalidades de PHP 5.3