发布时间:2019-07-31 09:30:51编辑:auto阅读(2039)
使用timeit库可以测试小段代码片段的执行时间,简单示例如下:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import random
import timeit
from time import clock
def get_random_number(num):
    '''get random number, no repeated element; use random.sample() method'''
    return random.sample(range(num), num)
if __name__ == "__main__":
    #use clock() method to calculate time
    start = clock()
    list_a = get_random_number(200)
    finish = clock()
    print(finish - start)
    #check the length of list generated by function
    print(len(list_a))
    print(len(set(list_a))) 
    #use timeit.Timer() method
    t1 = timeit.Timer('get_random_number(200)',
                      setup="from __main__ import get_random_number")
    #only excute once
    print(t1.timeit(1))
    #only repeat once, and only excute once
    print(t1.repeat(1, 1))
    #use timeit.Timer() and lambda to invoke function
    print(timeit.Timer(lambda: get_random_number(200)).timeit(1))
 
timeit(number=1000000) 
计时主要语句执行number次的时间。它将执行一次setup语句,返回执行主要语句执行多次所需的时间,以浮点数秒数表示。参数为循环的次数,默认是100万。要用的主语句、setup语句和计时器函数将传递给构造函数。 
 
repeat(repeat=3, number=1000000) 
调用timeit()多次。
这是一个方便的函数重复调用timeit(),并返回结果的列表。第一个参数指定调用timeit()多少次。第二个参数指定timeit()的number参数。
上一篇: Python官方文档(入门必备)
下一篇: Python3:用QQ邮箱发送邮件
 51193
 50605
 41231
 38049
 32512
 29419
 28279
 23134
 23093
 21427
 1484°
 2199°
 1822°
 1750°
 2063°
 1812°
 2495°
 4191°
 4050°
 2892°