Python-如何使用timeit模块

发布于 2021-02-02 23:18:02

我了解做什么的概念,timeit但是不确定如何在代码中实现。

我怎样才能比较两个功能,比方说insertion_sorttim_sort,用timeit

关注者
0
被浏览
90
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    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
    

    请注意,这一系列语句在每次通过时都会对未排序的数据进行全新复制。

    另外,请注意运行测量套件七次并仅保持最佳时间的计时技术-这确实可以帮助减少由于系统上正在运行其他进程而导致的测量失真。

    这些是我正确使用timeit的技巧。希望这可以帮助



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看