logo
Chonométrer une fonction Python.

Chronométer un programme

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)

Ressources :

  1. python time complexity.