timeit

Rich Krauter rmkrauter at yahoo.com
Fri Jan 30 23:38:52 EST 2004


Did you try enclosing arg to Timer in quotes? It is enclosed in quotes
in the python tutorial:
http://www.python.org/doc/current/tut/node12.html#SECTION00121000000000000000000

Rich

On Fri, 2004-01-30 at 23:21, Duncan Smith wrote:
> This is possibly a stupid question, but I need to get this working quickly,
> and I guess I'm just too tired / pressured to see what I'm doing wrong.
> Clearly (from the output below) I can't pass the statement to an instance of
> timeit.Timer, but I can execute it using exec().  Any idea what I need to do
> to get this timed (using timeit).  Cheers.
> 
> >>> import SDC_table
> >>> import subtract
> >>> import timeit
> >>> t = SDC_table.RandomTable(1, 12, (2,3,4))
> >>> s = """\
> p = subtract.p_risk(t.values, 10)
> """
> >>> tim = timeit.Timer(stmt=s)
> >>> tim.timeit(10)
> 
> Traceback (most recent call last):
>   File "<pyshell#119>", line 1, in -toplevel-
>     tim.timeit(10)
>   File "C:\Python23\lib\timeit.py", line 158, in timeit
>     return self.inner(it, self.timer)
>   File "<timeit-src>", line 6, in inner
> NameError: global name 'subtract' is not defined
> 
> # yet
> >>> exec(s)
> >>> p
> 0.242621453769059
> 




More information about the Python-list mailing list