python:慢timeit()函数

时间:2009-08-10 23:09:51

标签: python timer timeit

当我在timeit()之外运行下面的代码时,它似乎立即完成。但是当我在timeit()函数中运行它时,需要更长的时间。为什么呢?

>>> import timeit
>>> t = timeit.Timer("3**4**5")
>>> t.timeit()
16.55522028637718

使用: Python 3.1(x86) - AMD Athlon 64 X2 - WinXP(32位)

4 个答案:

答案 0 :(得分:29)

timeit()函数多次运行代码(默认为100万)并取平均值。

要仅运行一次代码,请执行以下操作:

t.timeit(1)

但这会给你带来不正确的结果 - 它有充分的理由重复。

要让每个循环时间让它重复,将结果除以循环次数。如果一百万个太多,请使用较小的重复次数值:

count = 1000
print t.timeit(count) / count

答案 1 :(得分:6)

因为timeit默认运行一百万次。重点是做微观基准测试,获得短期事件准确时间的唯一方法就是重复多次。

答案 2 :(得分:3)

根据docs,Timer.timeit()默认运行您的代码一百万次。使用“number”参数更改此默认值:

t.timeit(number=100)

例如。

答案 3 :(得分:2)

Timeit默认运行一百万个循环。

您可能还会遇到运营问题:(3**4)**5 != 3**4**5