1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| def somme(l, i, j):
"""Moins efficace qu'on pourrait le croire"""
return sum([l[i][k]*l[k][j] for k in range(len(l))])
ncalls tottime percall cumtime percall filename:lineno(function)
199584 2.000 0.000 2.000 0.000 modnoter.py:18(<listcomp>)
199584 0.282 0.000 2.447 0.000 modnoter.py:16(somme)
202032 0.149 0.000 0.149 0.000 {built-in method sum}
def somme(l, i, j):
"""Sans l'utilisation d'une liste, c'est encore plus long !"""
return sum(l[i][k]*l[k][j] for k in range(len(l)))
ncalls tottime percall cumtime percall filename:lineno(function)
7384608 2.453 0.000 2.453 0.000 modnoter.py:18(<genexpr>)
202032 0.863 0.000 3.316 0.000 {built-in method sum}
199584 0.202 0.000 3.534 0.000 modnoter.py:16(somme)
#Finalement, la bonne méthode
def somme(l, i, j):
"""somme pour le calcul d'un produit de matrice"""
s = 0
for k in range(len(l)):
s += l[i][k] * l[k][j]
return s
ncalls tottime percall cumtime percall filename:lineno(function)
199584 1.930 0.000 1.945 0.000 modnoter.py:9(somme) |
Partager