R
Roy Smith
I'm playing with the timeit module, and can't figure out how to time a
function call. I tried:
def foo ():
x = 4
return x
t = timeit.Timer ("foo()")
print t.timeit()
and quickly figured out that the environment the timed code runs under
is not what I expected:
Traceback (most recent call last):
File "./d.py", line 10, in ?
print t.timeit()
File "/usr/local/lib/python2.3/timeit.py", line 158, in timeit
return self.inner(it, self.timer)
File "<timeit-src>", line 6, in inner
NameError: global name 'foo' is not defined
In fact, trying to time "print dir()" gets you:
['_i', '_it', '_t0', '_timer']
It seems kind of surprising that I can't time functions. Am I just not
seeing something obvious?
function call. I tried:
def foo ():
x = 4
return x
t = timeit.Timer ("foo()")
print t.timeit()
and quickly figured out that the environment the timed code runs under
is not what I expected:
Traceback (most recent call last):
File "./d.py", line 10, in ?
print t.timeit()
File "/usr/local/lib/python2.3/timeit.py", line 158, in timeit
return self.inner(it, self.timer)
File "<timeit-src>", line 6, in inner
NameError: global name 'foo' is not defined
In fact, trying to time "print dir()" gets you:
['_i', '_it', '_t0', '_timer']
It seems kind of surprising that I can't time functions. Am I just not
seeing something obvious?