python:slow timeit()函数

2024-04-19 14:02:36 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

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


Tags: 函数代码import时间x86x2timertimeit
3条回答

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

t.timeit(number=100)

例如。

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

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

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

t.timeit(1)

但这会给你带来扭曲的结果——这是有充分理由的。

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

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

相关问题 更多 >