C# (.NET) contra competidores: resultados del benchmark 2025
A principios de 2025, la comunidad independiente de desarrolladores TechEmpower y el equipo de .NET Foundation publicaron resultados actualizados de benchmarks de rendimiento para lenguajes y frameworks populares. Tradicionalmente, el ecosistema .NET mantiene posiciones líderes en tareas de API web y servicios de alta carga. En este artículo analizamos cómo se desempeñó C# en comparación con Python, Java, Go y Rust.
Metodología de prueba
El benchmark se realizó en servidores en la nube idénticos (8 vCPU, 32 GB RAM, SSD NVMe) con Ubuntu 24.04 LTS. Se probaron los siguientes escenarios:
- Serialización JSON — devolución de un objeto simple en formato JSON (simulación de API REST).
- Procesamiento multiproceso — trabajo paralelo con 64 solicitudes concurrentes.
- Trabajo con BD — 100 000 operaciones de lectura/escritura mediante Entity Framework (C#), Hibernate (Java), SQLAlchemy (Python) y GORM (Go).
- Carga algorítmica — ordenamiento de arreglos y hashes criptográficos.
Resultados: ¿quién lidera?
Según las mediciones, C# en .NET 9 ocupó un sólido segundo lugar, solo superado por Rust (incremento de velocidad promedio del 4–7% gracias a la compilación AOT). Sin embargo, los indicadores clave hablan por sí mismos:
- Serialización JSON (solicitudes/seg): C# — 1 520 000, Go — 1 410 000, Java — 1 200 000, Python — 320 000.
- Multiproceso (aceleración en 64 hilos): C# — 42x, Java — 38x, Go — 35x, Python — 8x (limitación GIL).
- Trabajo con BD (operaciones/seg): C# — 85 000, Go — 81 000, Java — 74 000, Python — 22 000.
- Consumo de memoria por 1 000 solicitudes: C# — 12 MB, Rust — 8 MB, Go — 15 MB, Java — 28 MB, Python — 45 MB.
¿Por qué gana C#?
El ecosistema .NET continúa desarrollándose activamente. En la versión .NET 9 se implementaron las siguientes optimizaciones:
- Nuevo compilador JIT (Tiered PGO) — adapta el código a los patrones de ejecución reales.
- Native AOT — compilación previa a código máquina, reduciendo el tiempo de inicio a 50 ms.
- Biblioteca
System.Text.Json— una de las implementaciones de serialización más rápidas entre todos los lenguajes. - Flujos asíncronos (IAsyncEnumerable) — gastos generales mínimos en E/S.
Conclusiones para desarrolladores
Si estás eligiendo un stack para un microservicio de alta carga, C# (.NET) es sin duda un candidato para el top 3. Es significativamente más rápido que Python (4–5 veces en tareas típicas), supera consistentemente a Java en velocidad y consumo de memoria, y en cuanto a facilidad de desarrollo y disponibilidad de herramientas (IDE, depurador, perfilador) supera a Go y Rust. La única desventaja es la licencia para proyectos comerciales (se requiere licencia de Visual Studio para funciones Enterprise), pero la versión Community cubre la mayoría de las necesidades.