Évaluation du temps d’éxecution

Tableau avec des valeurs aléatoires à trier :

import random
t=[]
n=10
Max=10
for i in range(n):
    t.append(random.randint(0,Max))

Durée d’exécution d’un programme :

import time
import random
debut=time.time()
t=[]
for i in range(100000):
    t.append(random.randint(0,10))
duree=time.time()-debut
print(duree)

On utilise ensuite l’outil « matplotlib » qui permet de retranscrire le code dans un tableau :

import matplotlib.pyplot as plt
x=[i for i in range(10)]
y=[-2*xval+10 for xval in x]
plt.scatter(x,y)
plt.show()

Durée de création d’un tableau en fonction de sa longueur :

import matplotlib.pyplot as plt
import time
import random
def duree_tableau_alea2(n):
    t=[]
    debut=time.time()
    for i in range(n):
        t.append(random.randint(0,10))
    duree=time.time()-debut
    return duree
x=[i*10**5 for i in range(10)]
y2=[duree_tableau_alea2(val) for val in x]
plt.scatter(x,y2)
plt.show()

Comparaisons et options pour les tracé :

import time
import matplotlib.pyplot as plt
import numpy as np
import random
def duree_tableau_alea(n):
    debut=time.time()
    t=[random.randint(0,10) for i in range(n)]
    duree=time.time()-debut
    return duree
def duree_tableau_alea1(n):
    debut=time.time()
    t=list(np.random.randint(10,size=n))
    duree=time.time()-debut
    return duree
def duree_tableau_alea2(n):
    t=[]
    debut=time.time()
    for i in range(n):
        t.append(random.randint(0,6))
    duree=time.time()-debut
    return duree
x=[(i)*10**5 for i in range(5)]
y=[duree_tableau_alea(val) for val in x]
y1=[duree_tableau_alea1(val) for val in x]
y2=[duree_tableau_alea2(val) for val in x]
plt.scatter(x,y, color='coral', linestyle='solid', label='liste en compréhension')
plt.scatter(x,y1, color='navy', linestyle='solid', label='tableau numpy')
plt.scatter(x,y2, color='green', linestyle='solid', label='liste avec append')
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',0))
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))
plt.title('durée de céation d''un tableau de n valeurs aléatoires ',color="navy", fontsize=12)
ax = ax.set(xlabel='n ', ylabel='durée (en s)')
plt.legend(loc='center right');
plt.show()

Aucune réponse

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *