Les résultats mentionnés par @chepner sont corrects, Python peut prendre plus de temps pour exécuter le code dans la console, mais une fois le code compilé, les résultats sont les mêmes.
Pour m'assurer que c'est correct, j'ai créé le code suivant, également inspiré par la réponse de @knifer :
from time import time
from numpy import average,std
x = 1
xyzabcdexyzabcdefghidjakeldkjlkfghidjakeldkjlk = 1
short_runs = 0
long_runs = 0
for _ in range(int(2e7)):
t0 = time()
if x:
pass
short_runs += time() - t0
t0 = time()
if xyzabcdexyzabcdefghidjakeldkjlkfghidjakeldkjlk:
pass
long_runs += time() - t0
print('Runtime results:')
print(f"Small variable runs : (sum = {short_runs:.3f})")
print(f"Long variable runs : (sum = {long_runs :.3f})")
Le code que je propose est quelque peu différent, dans le sens où les essais pour les noms de variables longs et courts sont entrelacés, de sorte que toute différence causée par les processus OS sous-jacents est minimisée.
Les résultats du code varient selon que vous copy-paste
le code dans une console Python, ou vous appelez le code en tant que programme ( python trial_runs.py
). Exécution avec copy-paste
ont tendance à être plus lents en utilisant des noms de variables longs, alors que l'appel du code en tant que programme donne des temps d'exécution identiques.
PS. Les temps de fonctionnement réels changent tout le temps pour moi (dans un sens ou dans l'autre), il est donc difficile de rapporter des valeurs exactes. Même les longs noms de variables peuvent parfois s'exécuter plus rapidement, bien que cela soit très rare sur la console Python. La conclusion la plus importante est que les différences sont très faibles dans les deux cas :)