Vitesse d'exécution

Résolu/Fermé
MickaToast Messages postés 142 Date d'inscription mercredi 19 février 2014 Statut Membre Dernière intervention 23 juillet 2015 - Modifié par MickaToast le 10/03/2015 à 20:13
dsy73 Messages postés 9252 Date d'inscription dimanche 22 août 2010 Statut Contributeur Dernière intervention 23 octobre 2020 - 11 mars 2015 à 06:46
Bonsoir,

Ma question sera posé sur la vitesse d'exécution de python. Voilà le problème:
Je dois résoudre quelque chose, or, je peux le faire de deux façon exactement identique, la quelle est la plus rapide?

Sachant que j'aime bien quand mes programmes sont rapide pour résoudre un problème, j'aime bien utiliser la méthode la plus optimisé.

Voici les deux lignes de code:
if True in [avrgColor[x] not in range(self.avrg[(self.zones[i][0], self.zones[i][1])][x]-sensibilite, self.avrg[(self.zones[i][0], self.zones[i][1])][x]+sensibilite) for x in range(3)]:
if avrgColor[0] not in range(self.avrg[(self.zones[i][0], self.zones[i][1])][0]-sensibilite, self.avrg[(self.zones[i][0], self.zones[i][1])][0]+sensibilite) and avrgColor[1] not in range(self.avrg[(self.zones[i][0], self.zones[i][1])][1]-sensibilite, self.avrg[(self.zones[i][0], self.zones[i][1])][1]+sensibilite) and avrgColor[2] not in range(self.avrg[(self.zones[i][0], self.zones[i][1])][2]-sensibilite, self.avrg[(self.zones[i][0], self.zones[i][1])][2]+sensibilite):

Petit détails des deux lignes ci dessus: En gros j'ai un tuple de 3 valeurs et je veux vérifier si le premier tuples est dans la range des valeurs du deuxième tuple.


Bref, quelle ligne est la plus rapide? Merci :-)
A voir également:

1 réponse

dsy73 Messages postés 9252 Date d'inscription dimanche 22 août 2010 Statut Contributeur Dernière intervention 23 octobre 2020 2 476
11 mars 2015 à 06:46
Salut

Pour comparer la vitesse de tes 2 versions, utilise timeit : https://docs.python.org/3/library/timeit.html

Pour "profiler" ton code, tu peux utiliser yappi : https://code.google.com/archive/p/yappi

Je suis bien incapable de lire ton code et donc de t'aider car c'est illisible. Tape "import this" dans la console Python pour comprendre de quoi je parle ;)
0