Reseñas

Comparativa de rendimiento M1 frente Ryzen 7 para Python

Algo que siempre me ha preocupado en el blog es obtener el mejor rendimiento posible de Python y del resto de plataformas con las que trabajo. Reducir, aunque sea un poco, el tiempo de entrenamiento de los modelos o análisis de datos es siempre positivo. Así se puede dedicar más tiempo a analizar los resultados y menos a esperar por estos. Para lo que el procesador es algo importante. Por eso me he planteado comparar el rendimiento de mis equipos de trabajo a la hora de ejecutar el mismo código Python, un M1 frente a un Ryzen 7.

* En este artículo, nuestras recomendaciones son el resultado una evaluación rigurosa e independiente. Algunos enlaces incluidos en el texto son enlaces de afiliados, lo que significa que podemos recibir una comisión si decides realizar una compra a través de ellos. Esta comisión no afecta de ninguna manera a nuestra selección de productos ni influye en nuestra opinión sobre los mismos.

Medir el rendimiento con la sucesión de Fibonacci

El rendimiento de Python se puede medir por ejemplo con la sucesión de Fibonacci. Una función recursiva que es difícil de calcular y por lo tanto se puede apreciar fácilmente las diferencias entre dos configuraciones. Por eso la he utilizado en ocasiones anteriores, para comprobar las mejoras que ofrece compilar el código con Cython y para comparar Julia con Python.

Para comparar el rendimiento de un M1 frente a un Ryzen 7 con esta función se ejecutó en ambas máquinas el siguiente código.

import timeit

def fibonacci(n):
    if n < 2:
        return n
    else:
        return fibonacci(n-1) + fibonacci(n-2)
    
timeit.timeit("fibonacci(30)", "from __main__ import fibonacci", number=30)

Versión de Python usada en la comparativa

En ambos casos se ha usado el Python 3.9 que se incluye en la última versión de Anaconda. Empleando la versión compilada para M1 en el Mac y la versión 64 bits en Windows.

Los procesadores en comparación

Tanto M1 como Ryzen 7 son unas marcas que hacen referencia a diferentes modelos de procesadores por lo que es importante conocer lo que se usan para la comparativa. En el caso de M1 se usa un modelo M1 Pro con 10 núcleos. Por otro lado, el modelo del Ryzen 7 es el 5700 U con ocho núcleos, un modelo para portátil de quinta generación. Ambos procesadores fueron lanzados en 2021.Se puede encontrar más información sobre el procesador en el análisis del equipo usado.

Resultado de la comparativa del M1 frente Ryzen 7

Los resultados que se han obtenido para cada uno de los procesadores son los siguientes:

  • M1 Pro: 7,51 segundos
  • Ryzen 7: 9,04 segundos

Lo que indica que el M1 es aproximadamente un 19,5% más rápido que el Ryzen 7. Por lo que el M1 se puede considerar un buen equipo para ejecutar Python, aunque es necesario realizar comparativas más en profundidad.

Nótese que esta misma prueba se realizó en el 2019 con un i5 que requirió de 14 segundos para obtener los mismos resultados, prácticamente el doble del M1. Por lo que se puede apreciar un aumento considerable de rendimiento en ambos casos, aunque también puede influir que la versión de Python no sea la misma.

Conclusiones

En esta pequeña prueba se ha visto como el rendimiento de un procesador M1 es ligeramente mejor que un Ryzen 7 para ejecutar código Python. Una diferencia que puede ser importante a la hora de realizar tareas pesadas. Aunque, también hay que tener en cuenta la diferencia de precio que existe actualmente entre dos equipos con estos procesadores.

Imagen de günter en Pixabay

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez

Recent Posts

Data Lake y Data Warehouse: diferencias, usos y cómo se complementan en la era del dato

En la era del dato, las organizaciones se enfrentan al reto de gestionar volúmenes masivos…

2 días ago

Documentar tu API de Express con TypeScript usando OpenAPI (Swagger)

En la serie Creación de una API REST con Express y TypeScript construimos una API…

4 días ago

Curiosidad: El sesgo de supervivencia, o por qué prestar atención sólo a los que “llegaron” puede engañarte

Durante la Segunda Guerra Mundial, la Fuerza Aérea de Estados Unidos quería reforzar sus aviones…

1 semana ago

Cómo abrir una ventana de Chrome con tamaño y posición específicos desde la línea de comandos en Windows

En muchas situaciones —ya sea para grabar un tutorial, tomar capturas de pantalla profesionales, probar…

2 semanas ago

La Paradoja del Cumpleaños, o por qué no es tan raro compartir fecha de nacimiento

Imagínate en una sala con un grupo de personas, por ejemplo, en una oficina, un…

2 semanas ago

Programador de tareas de Windows: Guía definitiva para automatizar tu trabajo (BAT, PowerShell y Python)

En el trabajo diario con ordenadores, es común encontrarse con tareas repetitivas: realizar copias de…

3 semanas ago

This website uses cookies.