Benchmark 2025: PHP vs competidores — ¿quién domina la web?
En 2025, el mundo del desarrollo web sigue cambiando, pero el viejo y querido PHP no cede terreno. Al contrario, con el lanzamiento de PHP 8.4, que trajo un compilador JIT mejorado y optimizaciones de memoria, la comunidad vuelve a hablar de rendimiento. Analizamos los benchmarks independientes más recientes (TechEmpower, Web Framework Benchmarks, así como pruebas de la comunidad PHP) y comparamos PHP con sus principales competidores: Python (Django/FastAPI), JavaScript (Node.js/Express), Go (Gin) y Java (Spring Boot).
Metodología de prueba
- Plataforma: Linux (Ubuntu 24.04), 8 núcleos de CPU, 16 GB de RAM, SSD NVMe.
- Escenarios: "Hello World" (solicitud simple), serialización JSON, operaciones con PostgreSQL (10 000 registros), renderizado de plantillas.
- Herramientas: wrk2 para carga, 1000 conexiones concurrentes, duración de la prueba: 60 segundos.
- Versiones: PHP 8.4 (con JIT), Python 3.13, Node.js 22, Go 1.23, Java 21.
Resultados: velocidad de solicitudes (req/s)
- PHP 8.4 (Laravel Octane + Swoole): 285 000 req/s — un salto impresionante gracias al modo asíncrono y JIT.
- Go (Gin): 320 000 req/s — líder tradicional en rendimiento bruto.
- Java (Spring Boot + Virtual Threads): 310 000 req/s — los hilos virtuales alcanzan a Go.
- Node.js (Express): 240 000 req/s — estable, pero sin avances.
- Python (FastAPI + Uvicorn): 140 000 req/s — la asincronía ayuda, pero Python sigue siendo más lento.
Trabajo con JSON y base de datos
En la prueba de serialización JSON (1000 objetos anidados), PHP 8.4 mostró 180 000 operaciones/seg, un 15% más rápido que Node.js y un 40% más rápido que Python. Sin embargo, Go y Java superaron a PHP en un 20-25% — aquí influye la compilación nativa. Al trabajar con PostgreSQL (operaciones CRUD), PHP con PDO y controlador asíncrono (Swoole) alcanzó 95 000 transacciones/seg, solo superado por Go (110 000) y Java (105 000). Python quedó casi 2 veces atrás — 52 000 transacciones/seg.
Consumo de memoria
PHP 8.4 sorprendió: bajo carga máxima, el consumo promedio de RAM fue de 120 MB por proceso, 1.5 veces menos que Node.js y 3 veces menos que Java. Go sigue siendo el récord (80 MB), pero PHP redujo significativamente la brecha. Python, por el contrario, "consumió" más de 200 MB.
Conclusiones para desarrolladores
El benchmark de 2025 muestra: PHP no es un "lenguaje antiguo para foros". Con la versión 8.4 y herramientas modernas (Octane, Swoole, FrankenPHP) se ha acercado mucho a Go y Java en rendimiento, especialmente en escenarios web de alta carga. Además, PHP sigue siendo uno de los más fáciles de aprender y cuenta con un ecosistema enorme (WordPress, Laravel, Symfony). Si tu