如何使用Timeit模块

如何使用Timeit模块

我理解什么概念timeit但是我不知道如何在我的代码中实现它。

我如何比较两个函数,比如说insertion_sorttim_sort..timeit?


炎炎设计
浏览 1121回答 3
3回答

www说

路途时差工作原理是只运行一次安装代码,然后对一系列语句进行重复调用。因此,如果您想测试排序,则需要进行一些检查,以便本地排序中的一次传递不会影响已经排序的数据的下一次传递(当然,这将使蒂姆塞德真的很出色,因为当数据已经部分排序时,它的性能最好)。下面是如何设置用于排序的测试的示例:>>> 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注意,该系列语句在每次传递时都会生成未排序数据的新副本。另外,请注意运行度量套件七次并只保留最佳时间的计时技术-这确实有助于减少系统上运行的其他进程造成的测量失真。这些是我正确使用时间的技巧。希望这会有所帮助:)

蝴蝶不菲

如果你想用timeit在交互式Python会话中,有两个方便的选项:使用IPython壳。它的特点是方便。%timeit特殊职能:In [1]: def f(x):    ...:     return x*x   ...: In [2]: %timeit for x in range(100): f(x)100000 loops, best of 3: 20.3 us per loop在标准Python解释器中,可以通过从__main__在安装语句中:>>> def f(x):...     return x * x  ... >>> import timeit>>> timeit.repeat("for x in range(100): f(x)", "from __main__ import f",                   number=100000)[2.0640320777893066, 2.0876040458679199, 2.0520210266113281]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python