Maison > Article > développement back-end > Comment améliorer la vitesse d'exécution de Python
Quand on parle du langage le plus populaire actuellement, nous devons mentionner python. Cependant, bien que Python soit facile à utiliser, sa vitesse est un peu impressionnante. Comment utiliser une méthode simple pour accélérer Python à une vitesse presque comparable à C ?
Aujourd'hui, parlons du bébé numba. Vous avez bien lu, c'est soit numpy, soit numba. (Apprentissage recommandé : Tutoriel vidéo Python)
Numba est un compilateur juste à temps pour Python, qui convient le mieux au code qui utilise des tableaux et des fonctions NumPy. ainsi que des boucles. La manière la plus courante d'utiliser Numba consiste à utiliser sa collection de décorateurs, qui peuvent être appliqués à vos fonctions pour demander à Numba de les compiler. Lorsqu'une fonction décorée Numba est appelée, elle est compilée en code machine pour une exécution « juste à temps », et tout ou partie de votre code peut alors s'exécuter à la vitesse native du code machine !
Face à un projet informatique, la chose la plus simple à laquelle on puisse penser est de coder directement, et enfin d'écrire un programme très long. Par conséquent, lorsqu’un problème survient, il faut souvent beaucoup de temps pour localiser le problème.
Il existe un moyen simple de résoudre ce problème, qui consiste à définir diverses fonctions et à diviser la tâche en plusieurs petites parties. Étant donné que chaque fonction n'est pas particulièrement complexe et peut être vérifiée à tout moment lors de son écriture, il est facile de localiser et de résoudre les problèmes une fois que des problèmes surviennent dans le programme principal concis. L'idée de la programmation orientée objet est basée sur les fonctions.
Après avoir écrit la fonction, vous pouvez également utiliser des décorateurs pour la rendre plus puissante. Le décorateur lui-même est une fonction, mais c'est une fonction de fonctions. Le but est d'augmenter la fonction de la fonction. Par exemple, définissez d'abord une fonction qui génère l'heure actuelle, puis définissez une fonction qui spécifie le format de l'heure. L'application de cette dernière fonction à la fonction précédente est un décorateur, qui est utilisé pour afficher l'heure actuelle dans un format spécifique.
> Avantages de Numba
1 Simple, souvent une seule ligne de code peut apporter des surprises
2 Elle a des effets miraculeux sur les boucles, qui sont souvent utilisées ; en science Ce qui limite la vitesse de calcul de Python, c'est la boucle
3 Compatible avec les packages de calcul scientifique couramment utilisés, tels que numpy, cmath, etc.;
5. Il ajustera automatiquement la précision pour garantir l'exactitude.
Comment utiliser la numbaAu vu des avantages de la numba évoqués ci-dessus, je vais les présenter un par un. Première importation de numba
import numba as nb
Il peut être accéléré avec une seule ligne de code, et il a un effet miraculeux sur les boucles
Parce que la fonction intégrée de numba elle-même est un décorateur, vous seulement vous devez l'ajouter devant la fonction que vous avez définie. Just @nb.jit(), c'est facile de commencer. Prenons comme exemple une fonction de sommation
# 用numba加速的求和函数@nb.jit()def nb_sum(a): Sum = 0 for i in range(len(a)): Sum += a[i] return Sum# 没用numba加速的求和函数def py_sum(a): Sum = 0 for i in range(len(a)): Sum += a[i] return Sum
pour tester la vitesse
import numpy as np a = np.linspace(0,100,100) # 创建一个长度为100的数组 %timeit np.sum(a) # numpy自带的求和函数 %timeit sum(a) # python自带的求和函数 %timeit nb_sum(a) # numba加速的求和函数 %timeit py_sum(a) # 没加速的求和函数
Pour plus d'articles techniques liés à Python, veuillez visiter la colonne
Tutoriel PythonCe 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!