繁体   English   中英

为什么 %timeit 循环不同的次数?

[英]Why does %timeit loop different number of times?

在 Jupter Notebook 上,我试图比较两种查找具有最大值的索引的方法所花费的时间。

在此处输入图像描述

在图像中,第一个函数进行了 1000 次循环,第二个进行了 10000 次循环,这是由于方法本身导致的循环增加还是 Jupyter 只是添加了更多循环以获得更准确的每个循环时间,即使第二个函数可能需要 1000 次只是,是这样吗?

%timeit库将根据脚本执行的时间限制运行次数。

运行次数可以用 -n 设置。 例子:

%timeit -n 5000
df = pd.DataFrame({'High':[1,4,8,4,0]})

5000 loops, best of 3: 592 µs per loop

使用-r限制运行次数:

import time
%timeit -r1 time.sleep(2)
# 2 s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)

%timeit -r4 time.sleep(2)
# 2 s ± 800 µs per loop (mean ± std. dev. of 4 runs, 1 loop each)

%timeit time.sleep(2)
# 2 s ± 46.5 µs per loop (mean ± std. dev. of 7 runs, 1 loop each)

它有一个内置选项 -n:“选项:-n:在循环中执行给定的语句次数。如果未给出此值,则会选择一个合适的值。” 文档

因此,如果未指定,它会自行选择循环数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM