J'essaie de savoir combien de temps il faut pour exécuter une instruction Python. J'ai donc cherché en ligne et j'ai trouvé que la bibliothèque standard fournit un module appelé timeit qui prétend faire exactement ça :
import timeit
def foo():
# ... contains code I want to time ...
def dotime():
t = timeit.Timer("foo()")
time = t.timeit(1)
print "took %fs\n" % (time,)
dotime()
Cependant, cela produit une erreur :
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 3, in dotime
File "/usr/local/lib/python2.6/timeit.py", line 193, in timeit
timing = self.inner(it, self.timer)
File "<timeit-src>", line 6, in inner
NameError: global name 'foo' is not defined
Je suis encore novice en matière de Python et je ne comprends pas bien toutes les questions relatives à la portée de ce langage, mais je ne sais pas pourquoi cet extrait ne fonctionne pas. Avez-vous une idée ?