关于python中timeit模块的问题

时间:2011-08-08 19:41:42

标签: python timeit

我对python中的timeit模块有疑问,它用于确定一段代码执行所需的时间。

t = timeit.Timer("foo","from __main__ import foo")
str(t.timeit(1000))

上面代码中参数1000的含义是什么?

3 个答案:

答案 0 :(得分:4)

来自documentation

Timer.timeit([number=1000000])
     

执行主要陈述的时间number。这执行   setup语句一次,然后返回执行所需的时间   主要陈述多次,以秒为单位测量为浮点数。   参数是通过循环的次数,默认为   一百万。主要声明,设置声明和计时器   要使用的函数传递给构造函数。

答案 1 :(得分:1)

documented,数字表示timeit应执行指定程序的次数。

由于缓存导致前几次执行速度明显变慢,并且单个执行时间可能会有很大差异,因此运行更多的时间(即更高的值)将产生更精确的结果,但也需要更长的时间。

答案 2 :(得分:1)

本着教人钓鱼的精神,请问Python:

>>> import timeit
>>> t=timeit.Timer()
>>> help(t.timeit)
Help on method timeit in module timeit:

timeit(self, number=1000000) method of timeit.Timer instance
    Time 'number' executions of the main statement.

    To be precise, this executes the setup statement once, and
    then returns the time it takes to execute the main statement
    a number of times, as a float measured in seconds.  The
    argument is the number of times through the loop, defaulting
    to one million.  The main statement, the setup statement and
    the timer function to be used are passed to the constructor.