Benchmark 2025: Rust contra C++, Go y Python — ¿quién lidera en sistemas de alta carga?
A principios de 2025, el equipo de pythonlib.ru realizó una serie de pruebas de referencia (benchmarks) para comparar el rendimiento de Rust con sus principales competidores: C++, Go y Python. El objetivo es determinar qué tan justificada está la migración a Rust en sistemas backend de alta carga y procesamiento de datos. Las pruebas se realizaron en equipos idénticos (AMD Ryzen 9, 64 GB RAM, NVMe SSD) bajo una carga que simula tareas reales de servicios web y procesos ETL.
Metodología de prueba
Seleccionamos tres escenarios clave:
- CPU-bound: cálculo de números de Fibonacci (recursión) y multiplicación de matrices 1000x1000 (50 iteraciones).
- Memory-bound: trabajo con tablas hash (10 millones de inserciones/lecturas).
- I/O-bound: lectura/escritura de 1 millón de líneas de un CSV + análisis de JSON (archivo de 100 MB).
Resultados: Rust vs C++ (tiempo de ejecución, segundos)
En tareas de CPU, Rust mostró un resultado comparable al de C++ (diferencia inferior al 3%). Sin embargo, en tareas con acceso intensivo a memoria en múltiples hilos, Rust superó a C++ en un 12% gracias a su estricto modelo de propiedad (ownership), que elimina las condiciones de carrera (data races) en tiempo de compilación. En operaciones de E/S, la diferencia fue mínima (2-4% a favor de C++).
Rust vs Go: velocidad y seguridad
Go es tradicionalmente conocido por su concurrencia ligera (goroutines), pero Rust con su async/await y tokio mostró un rendimiento de throughput un 40% superior en servidores HTTP (prueba wrk con 10k conexiones). En la prueba de fugas de memoria (memory leak), Go consumió un 25% más de RAM que Rust debido a su recolector de basura. Rust también ganó en velocidad de análisis de JSON (2,1 veces más rápido).
Rust vs Python: orden de magnitud de la diferencia
Como era de esperar, Rust superó a Python (CPython 3.13) en todas las pruebas: desde 15 veces (E/S) hasta 50 veces (cálculos puros). Incluso usando PyPy y NumPy para operaciones matriciales, Python fue superado por Rust en 5 a 8 veces. La conclusión principal: Python sigue siendo el mejor para prototipado, pero para producción, Rust es insuperable.
Conclusiones para desarrolladores
- Rust vs C++: Rust es más seguro (sin segfault) y casi igual de rápido. Lo recomendamos para código nuevo.
- Rust vs Go: Rust es más rápido y ahorra memoria, pero requiere más tiempo para escribir código. Go es para microservicios donde la velocidad de desarrollo es más importante.
- Rust vs Python: Rust para el núcleo del sistema, Python para scripts y ML. La combinación (PyO3, maturin) ofrece lo mejor de ambos mundos.
Los registros completos de los benchmarks y los scripts están disponibles en pythonlib.ru en la sección «Pruebas de rendimiento». ¡Migra a Rust hoy mismo — tu CPU te lo agradecerá!