Benchmark 2025: Java contra Go, Python y C# — resultados que sorprenden
A principios de 2025, el equipo de PythonLib realizó una serie de pruebas independientes para evaluar el rendimiento real de Java en comparación con sus principales competidores: Go, Python (3.13) y C# (.NET 9). En un contexto de creciente popularidad de los microservicios y las soluciones en la nube, la elección del lenguaje se vuelve crítica. Probamos cuatro escenarios clave: cómputo, trabajo con REST API, análisis de JSON y arranque en frío de un contenedor.
Metodología de prueba
Todas las pruebas se realizaron en el mismo hardware: Intel Xeon de 4 núcleos, 8 GB de RAM, SSD NVMe. Se utilizaron las últimas versiones estables de compiladores y entornos de ejecución. Para Java — OpenJDK 21 con G1GC, para Go — 1.22, para Python — 3.13 con optimizaciones JIT, para C# — .NET 9 con compilación AOT.
- Prueba 1. Carga computacional — cálculo del número 1000 de Fibonacci y multiplicación de matrices de 500x500.
- Prueba 2. REST API (HTTP/1.1) — 10 000 solicitudes con carga, medición del tiempo de respuesta.
- Prueba 3. Análisis de JSON — lectura y serialización de un archivo de 50 MB.
- Prueba 4. Arranque en frío — tiempo desde el inicio hasta la primera respuesta lista.
Resultados: Java — líder absoluto en estabilidad
En la prueba computacional, Java obtuvo el segundo lugar, perdiendo frente a C# por solo un 5%. Sin embargo, al trabajar con JSON, Java superó a C# en un 12% y a Go en un 7%. Python, a pesar del nuevo JIT, resultó ser 8 veces más lento que Java en operaciones con matrices.
Lo más inesperado ocurrió en la prueba de REST API. Java con hilos virtuales (Project Loom) demostró la latencia más baja: 0.8 ms por solicitud. Go mostró 1.1 ms, C# — 1.3 ms, Python — 4.5 ms. Además, Java consumió un 15% menos de memoria que Go y un 30% menos que C#.
Arranque en frío: ¿el punto débil de Java? Ya no
Tradicionalmente, Java ha sido criticado por su arranque lento. Sin embargo, GraalVM Native Image en 2025 cambia las reglas del juego: el tiempo de arranque de una aplicación Java fue de 0.6 segundos, solo 0.2 segundos más lento que Go y más rápido que C# (0.9 s). Python arranca más rápido (0.1 s), pero pierde en rendimiento.
Conclusiones para desarrolladores
El benchmark de 2025 confirma: Java sigue siendo la mejor opción para sistemas empresariales donde importan el rendimiento predecible y la escalabilidad. Go es ideal para microservicios simples, C# para el ecosistema de Microsoft, Python para prototipado y ML. Pero si necesita un equilibrio entre velocidad, memoria y estabilidad — Java sigue siendo imbatible.
Los datos completos de las pruebas (tablas, gráficos y código) están disponibles en el repositorio de PythonLib en la sección "Benchmarks 2025".