Sencillas mejoras de rendimiento de Python que no deberías ignorar

Muchos de los que dependemos mucho de Python en estos días sabemos que es bastante fácil hacerlo funcionar más rápido sin tener que cambiar el código en absoluto. ¿Suena demasiado bueno para ser verdad? ¿Cuál es el truco?

El truco es este: Debe utilizar procesadores x86 / x86-64 relativamente recientes (en los últimos cinco años), y su código Python debe basarse en NumPy o SciPy o scikit-learn o mpi4py.

Si ese es el caso, deberías probar el Consejo # 1. Si no, pase a la Sugerencia # 2, que puede ayudar a todos, pero no es tan mágica.

Consejo # 1: Descargue e instale la Distribución Intel para Python. En realidad es bastante indoloro, rápido y fácil de hacer; También es completamente gratuito y no requiere ningún cambio de código para usarlo. Esto no toma más que unos pocos momentos de su tiempo, que fácilmente volverá en forma de una ejecución más rápida de Python si hace mucho con Python. La mejor puesta a punto de todas es simplemente instalar la Distribución Intel para Python para alimentar el código Python 2.7 o Python 3.6. Puede hacer esto en Linux, Windows o macOS, y puede usar la administración de paquetes conda o pip. Si usted es un usuario de Anaconda, simplemente puede configurar un canal Intel (conda config –add channels intel) y traer el Python que desee (consulte las instrucciones en un blog de Intel titulado Instalación de Intel Distribution for Python e Intel Performance Libraries con Anaconda.

He ayudado a bastantes equipos diferentes a hacer esto, y cada uno era inicialmente escéptico. Puedo informar que todos se han sorprendido por el obvio aumento en el rendimiento que recibieron (cada uno estaba usando al menos uno de NumPy, SciPy o scikit-learn). Un par de ellos estaban involucrados en nuevas empresas que realizan trabajos de aprendizaje automático y estaban considerando reescribir el código en C simplemente para acelerar el proceso. Después de afinar su Python como lo recomiendo y verlo correr más rápido, decidieron que no era necesario.

Consejo # 2: La próxima gran cosa que puedes hacer es. . . Entiende tu código. Recomiendo al menos alcanzar el máximo en su código con la principal herramienta de análisis de rendimiento para x86: el Amplificador Intel® VTune. Gratis. (Durante años, VTune ha sido un vendedor fuerte para Intel, pero la última versión también está disponible para todos de forma gratuita).

He sido fanático de VTune durante varias décadas, incluidos mis años como desarrollador trabajando para Intel. Me encanta porque puedo confiar en que me diga con precisión qué código está causando qué problemas de rendimiento.

¡Ahora dos grandes cambios en los últimos años lo hacen aún mejor! Es más fácil de usar y la versión actual está disponible de forma gratuita.

Antes de que alguien le venda «haga esto» o «haga eso» para cambiar su código de Python por desempeño, asegúrese de saber cómo está su código. De Verdad comportándose en el sistema real. Las sorpresas son más comunes de lo que la mayoría de las personas esperan y, a menudo, una sorpresa tiene un lado positivo al insinuar enérgicamente los cambios que mejorarán el rendimiento.

La guía del usuario de Intel VTune tiene instrucciones fáciles de seguir para realizar el análisis de código de Python con VTune. Lo mejor de todo es que VTune puede comprender con precisión el rendimiento en toda la máquina, independientemente de la aplicación que lo esté causando. (Esto significa que verás si un comprobador de virus retrasa horriblemente la operación de abrir un archivo, por ejemplo). Saber dónde se pierde el rendimiento es útil. ¡Al menos sabes a lo que te enfrentas!

¡Pruébalo hoy!

Python es la base de tanto trabajo en estos días que merece unos pocos minutos de atención de afinación. Mis dos simples consejos pueden conducir a un código Python de mayor rendimiento. Aquí es donde ir para más información:

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *