
Même si cela n'est pas rigoureux, chronométrer un programme peut-être utile et peut donner une idée de sa complexité.
Pour montrer la méthode prenons 2 versions différentes d'un programme permettant d'obtenir une liste des nombre pairs compris dans l'intervalle [0,n]
Version n°1 avec une boucle for
def make_list_pair1(n):
pairs = []
for i in range(n):
if i%2 == 0:
pairs.append(i)
return pairs
Version n°2 avec une liste en compréhension
def make_list_pair2(n):
return [i for i in range(n) if i%2==0]
Et pour mesurer le temps d'excution dans un IDE classique:
from timeit import timeit
def test1():
make_list_pair1(1000)
print(timeit(test1, number=1))
Dans un notebook :
%timeit make_list_pair1(1_000_000)