代码运算时间测试模块:timeit.Timer
- timeit模块:该模块可以用来测试一段python代码的执行速度/时长。
- Timer类:该类是timeit模块中专门用于测量python代码的执行速度/时长的。原型为:class timeit.Timer(stmt='pass',setup='pass')。
- stmt参数:表示即将进行测试的代码块语句。
- setup:运行代码块语句时所需要的设置。
- timeit函数:timeit.Timer.timeit(number=100000),该函数返回代码块语句执行number次的平均耗时。
1 from timeit import Timer
2
3
4 def func1():
5 l = []
6 for i in range(1000):
7 l += [i]
8
9
10 def func2():
11 l = []
12 for i in range(1000):
13 l.append(i)
14
15
16 def func3():
17 l = [i for i in range(1000)]
18
19
20 def func4():
21 l = list(range(1000))
22
23
24 if __name__ == '__main__':
25 t1 = Timer("func1()", "from __main__ import func1") # 实例化测试对象
26 print(t1.timeit(1000)) # 测试次数
27 t2 = Timer("func2()", "from __main__ import func2")
28 print(t2.timeit(number=1000))
29 t3 = Timer("func3()", "from __main__ import func3")
30 print(t3.timeit(1000))
31 t4 = Timer("func4()", "from __main__ import func4")
32 print(t4.timeit(1000))