不要理解Timeit的工作原理。需要解释

时间:2016-02-25 16:13:08

标签: python timeit

我不明白我是如何让timeit工作的。我做了一个例子,我想计算处理时间的差异。如果有人有时间为我分解,我会永远感激。

巴斯

def main():
    prod_nums = ['V475', 'F987', 'Q143', 'R688']

def search_fast(prod_nums):
    for item in prod_nums:
        if item == 'R688':
            return True
    return False

def search_slow(prod_nums):
    return_value = False
    for item in prod_nums:
        if item == 'R688': 
            return_value = True
    return return_value

1 个答案:

答案 0 :(得分:0)

如果您想将参数传递给您的函数,您可能需要使用.btn-group, .btn-group-vertical { display:flex; } .btn-group-vertical>.btn, .btn-group>.btn { display:inline-flex; float:none; } ,但要将列表设为全局,如下所示:

timeit.Timer

然后运行:

prod_nums = ['V475', 'F987', 'Q143', 'R688']
当您想要在开发环境中检查一小段代码时,

from timeit import Timer t = Timer(lambda: search_fast(prod_nums)) print t.timeit() # In my case will print 0.336354970932 t = Timer(lambda: search_slow(prod_nums)) print t.timeit() # 0.374251127243 非常有用。

如果您的功能如下:

timeit

您可以使用def search_slow(): prod_nums = ['V475', 'F987', 'Q143', 'R688'] return_value = False for item in prod_nums: if item == 'R688': return_value = True return return_value

timeit.timeit

这不会导致任何结果,只会花费时间。这是另一种可以使用装饰器的方案。 基本上,您可以使用import timeit timeit.timeit(search_slow) >>> 0.3833189010620117 告诉您执行函数需要多长时间,就像终端中的timeit一样。

基于python docs(https://docs.python.org/2/library/timeit.html): time sample_file.py