如何使用timeit模块

问题:

我理解timeit的概念,但我不知道如何在我的代码中实现它。
如何比较insertion_sorttim_sorttimeit的两个功能?

回答:

timeit的工作方式是运行安装代码一次,然后重复调用一系列语句。所以,如果你想测试排序,一定要小心,所以一个就地排序不会影响已经排序的数据的下一个传球(当然,这将使Timsort真的闪耀,因为它当数据已部分订购时效能最好)。
以下是一个如何设置一个排序测试的例子:

>>> import timeit

>>> setup = '''
import random

random.seed('slartibartfast')
s = [random.random() for i in range(1000)]
timsort = list.sort
'''

>>> print min(timeit.Timer('a=s[:]; timsort(a)', setup=setup).repeat(7, 1000))
0.334147930145

请注意,一系列语句在每次通过时都会创建未排序数据的新副本。
另外,请注意运行测量套件的时间技术七次,只保留最佳时间 – 这真的有助于减少由于系统上运行的其他进程导致的测量失真。
这些是我正确使用时间的提示。希望这可以帮助 :-)

 
 Code问答: codewenda.com
Stackoverflow:How to use timeit module

发表评论

电子邮件地址不会被公开。 必填项已用*标注

64 − 59 =