比如:
list1 = [ 'aaa', 'bbb', 'ccc, 'ddd', 'eee' ]
if x in list1:
pass
想要监测系统在执行过程中,上面这条 if 语句执行消耗了多少时间,用 timeit 怎么查看?
1
zhusimaji 2017 年 7 月 13 日 via iPhone
使用 time 模块就好了
|
2
ranleng 2017 年 7 月 13 日
开头一时间
结束一时间 然后相减(?) |
3
ech0x 2017 年 7 月 13 日 via iPad
第一反应也是连个 time 相减
|
4
est 2017 年 7 月 13 日
line_profile
|
5
4ever911 2017 年 7 月 13 日 ipython
%timeit 最简单了 |
6
csuzhangxc 2017 年 7 月 13 日
timeit.timeit("if x in list1: pass", "x='aaa'; list1=['aaa', 'bbb', 'ccc', 'ddd', 'eee']")
|
7
csuzhangxc 2017 年 7 月 13 日 官方文档:timeit.timeit(stmt='pass', setup='pass', timer=<default timer>, number=1000000)
|
8
csuzhangxc 2017 年 7 月 13 日
你如果要看一次
timeit.timeit("if x in list1: pass", "x='aaa'; list1=['aaa', 'bbb', 'ccc', 'ddd', 'eee']", number=1) 不过一般不这样干吧。。。 |
9
yucongo 2017 年 7 月 14 日
In [6]: %paste
import timeit setup = "list1 = [ 'aaa', 'bbb', 'ccc', 'ddd', 'eee' ]" stmt = "if 'x' in list1: pass" t = timeit.Timer(stmt=stmt, setup=setup) n = 1 print("{0:.3f}".format(t.timeit(number=n)/n)) n = 10 print(t.timeit(number=n)/n) n = 10000 print(t.timeit(number=n)/n) n = 1000000 print(t.timeit(number=n)/n) ## -- End pasted text -- 0.000 1.3518072108809065e-06 8.570457728040992e-07 1.0187274455574879e-06 |
10
ridaliu 2017 年 7 月 15 日
如果用 ipython 的话,可以开启自动监测运行时间的功能
|