Skip to main contentSkip to footer
Volver a Recursos

Comparativa de rendimiento entre Python vs Rust

Análisis técnico de rendimiento calculando la máxima cantidad de dígitos de PI para entender cuándo Python es lento y cómo optimizarlo.

20 de abril de 2026Python, Rust, Benchmark, Backend, Performance

Hablemos sobre el rendimiento de Python

Python se posiciona como uno de los lenguajes multipropósito más usados hoy en día en distintas áreas del desarrollo de software y la tecnología: automatizaciones, desarrollo web, machine learning, aplicaciones de escritorio y big data, entre muchas otras.

A pesar de su popularidad, existe cierto "hate" por parte de algunos sectores que lo tachan de lento en comparación con otros lenguajes. Y en parte tienen razón: un lenguaje interpretado nunca podrá igualar en rendimiento y velocidad bruta a uno compilado. Aun así, resulta sumamente interesante observar el comportamiento de Python frente a otros lenguajes en un mismo escenario técnico.

Para este análisis, realizaremos una prueba de cálculo de la máxima cantidad de dígitos del número PI en intervalos de 10 y 60 segundos. Además del conteo de dígitos, evaluaremos el consumo de RAM, la latencia y el tamaño de los artefactos resultantes.

1. Primera prueba: Python puro vs. Rust

En esta primera etapa, enfrentamos una implementación de Python utilizando únicamente la librería estándar contra un binario optimizado de Rust.

Como era de esperarse, Rust supera a Python con una brecha enorme en velocidad y tamaño de archivos. Aunque observemos un consumo de RAM superior en Rust, esto no se debe a una deficiencia; al contrario, es porque la cantidad de datos que está procesando y almacenando es un 112,600% superior a lo que Python puede procesar en el mismo tiempo.

Pero, ¿qué sucede si en lugar de usar Python puro utilizamos una librería especializada? Para este segundo escenario, pondremos a prueba a Python junto a las librerías mpmath + gmpy2.

2. Segunda prueba: Python (Librerías) vs. Rust

En esta última prueba, notamos una mejora radical en el rendimiento de Python. La diferencia de velocidad se vuelve prácticamente nula en los primeros 10 segundos, mientras que en los 60 segundos observamos que Rust deja atras a mpmath con el doble de dígitos PI.

¿A qué se debe esta mejora repentina?

Esto ocurre porque tanto mpmath como gmpy2 están escritas en lenguajes compilados, al igual que la gran mayoría de las librerías de Python diseñadas para tareas pesadas de CPU. Al usar estas herramientas, lo que hacemos es delegar todo el procesamiento a un lenguaje de bajo nivel (como C o Fortran), utilizando a Python únicamente como un intermediario o "pegamento" (glue language).

Gracias a esta estrategia, logramos aumentar la velocidad de procesamiento un 56,000% respecto a la versión pura y reducir significativamente el peso del artifact del proyecto. No obstante, es importante notar que, incluso con estas optimizaciones, Python no logra igualar la eficiencia absoluta de Rust.

Conclusión

Este experimento nos deja una enseñanza fundamental: en este caso concreto, logramos una mejora descomunal simplemente por elegir la herramienta adecuada en lugar de escribir código desde cero en Python puro.

¿Significa esto que siempre es mejor usar librerías? Sí, es altamente recomendable. Y este principio no se limita solo a librerías de código; también aplica a las bases de datos. Si el propio lenguaje SQL te permite filtrar, agrupar y ordenar los datos, es mil veces más eficiente hacerlo directamente en el motor de la base de datos y entregarle a Python el resultado listo para consumir.

Si notas que tu proyecto en Python se está volviendo lento, identifica el cuello de botella. Investiga si existe una librería optimizada para resolver ese problema; hoy en día, con la ayuda de la IA, esta búsqueda se vuelve una tarea sencilla. Seguramente hay muchas otras áreas donde poner a prueba este rendimiento, pero para cubrirlas todas, este post se extendería demasiado.

Gracias por leer hasta aquí. Nos vemos pronto.


Isaías Méndez Software Developer

Si deseas realizar la prueba por ti mismo, puedes encontrar el código en este repositorio.2