timeit 怎么理解输出的时间?
在 timeit的文档中,有这个例子代码
$ python3 -m timeit '"-".join(str(n) for n in range(100))'
10000 loops, best of 3: 30.2 usec per loop
$ python3 -m timeit '"-".join([str(n) for n in range(100)])'
10000 loops, best of 3: 27.5 usec per loop
$ python3 -m timeit '"-".join(map(str, range(100)))'
10000 loops, best of 3: 23.2 usec per loop
其中,10000 loops, best of 3: 30.2 usec per loop
的10000 loop
是怎么来的?
>>> import timeit
>>> timeit.timeit('"-".join(str(n) for n in range(100))', number=10000)
0.3018611848820001
>>> timeit.timeit('"-".join([str(n) for n in range(100)])', number=10000)
0.2727368790656328
>>> timeit.timeit('"-".join(map(str, range(100)))', number=10000)
0.23702679807320237
从上面的代码中我知道了比如第一个例子,我知道总共花了0.301秒,因此,有301861微秒(usec),总共有10000次运行"-".join(str(n) for n in range(100))
,因此每一个loop花费约30.18微秒(usec)。
timeit
的命令行默认是10000次的loop吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
文档上这么举例的:
也就是说,通过命令行方式执行,timeit是自动判断该循环多少次,我想应该是单次耗时越短,执行次数就多一些。