bonjour,

En python 2.4.4, je ne sais pas si c'était un bug ou juste une impression de ma part, mais voilà ce que j'ai remarqué.

Utiliser plusieurs variables une seule fois accélére un script
et donc réutiliser une même variable plusieurs fois ralentit le script.

exemple :
j'ai un énorme script qui fait des tests successifs et linéaires et indépendants.
pour chacun j'utilise une variable bool et un tableau
je le répète, les tests sont indépendant et non itératif (impossible à mettre dans une boucle). ils ont juste en commun deux variables dont je me sers pour relever les résultats (un bool qui contient oui on non on a trouvé une erreur, et un tableau qui contient les erreurs). à chaque fois j'écrase ses variables.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#test 1
erreur=0
tab_erreur=[]
traitement de recherche de l'erreur...
 
#test 2
erreur=0
tab_erreur=[]
traitement de recherche de l'erreur...
 
#test 3
erreur=0
tab_erreur=[]
traitement de recherche de l'erreur...
et donc mon impression est que le script suivant s'exécute plus vite , comme si créer des nouvelles variables dans un script était plus rapide pour le compilateur que réutiliser les anciennes .

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#test 1
erreur1=0
tab_erreur1=[]
traitement de recherche de l'erreur...
 
#test 2
erreur2=0
tab_erreur2=[]
traitement de recherche de l'erreur...
 
#test 3
erreur3=0
tab_erreur3=[]
traitement de recherche de l'erreur...
là je ne fais que 3 fois dans mon exemple, mais dans mon cas c'est une trentaine de cas successif et indépendant que je fais

qu'en pensez-vous ?
une spécificité de python ou du hasard ? je tiens à dire que je travaille sur une vieille machine bourée de mémoire mais pas rapide.
à croire que python prend bcp de temps à chercher dans la mémoire-registre une variable à réaffecter plutôt que de créer une nouvelle variable vierge et l'affecter.

étrange....