Maison > Article > développement back-end > Comment accélérer les programmes Python
Cette fois, je parlerai d'un moyen simple d'accélérer les calculs python, qui consiste à utiliser la bibliothèque numba. La bibliothèque numba peut être compilée à la volée en utilisant la technologie JIT pour obtenir des performances élevées. cuda GPU peut également être utilisé. Acceleration est une très bonne bibliothèque d'outils pour accélérer Python. Elle est simple à utiliser, mais l'installation est légèrement plus compliquée.
Numba peut être utilisé une fois l'installation terminée. (Apprentissage recommandé : Tutoriel vidéo Python)
Écrivons un petit cas pour voir la différence entre le programme accéléré et le programme pré-accéléré Empruntons l'exemple le plus classique du site officiel. :
#!/usr/bin/env python # coding=utf-8 from numba import jit from numpy import arange import time @jit def sum2d(arr): M, N = arr.shape result = 0.0 for i in range(M): for j in range(N): result += arr[i,j] return result a = arange(9).reshape(3,3) start_time = time.time() for i in range(10000000): sum2d(a) end_time = time.time() print (end_time - start_time)
Ici, nous utilisons numpy pour générer une matrice à trois lignes et trois colonnes, [[0,1,2],[3,4,5],[6,7,8] ] puis effectuez un calcul d'accumulation bidimensionnel, la valeur doit évidemment être 36. Nous avons effectué 1 000 000 de tels calculs ici en utilisant l'annotation @jit, nous pouvons directement utiliser la technologie numba jit pour compiler en temps réel, améliorant ainsi la vitesse finale. le temps d'exécution est d'environ 3,86 s. Si l'annotation est supprimée, le temps d'exécution est d'environ 25,45 s. On peut voir à partir d'ici qu'il y a une amélioration des performances d'environ 6,6 fois, il est donc en effet pratique et simple d'utiliser numba pour. accélérer les programmes Python
Pour plus d'articles techniques liés à Python, veuillez visiter la colonne Tutoriel Python Étudiez !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!