%time 、%timeit
要在ipython下才可以使用。(所以说Jupyter Notebook当然是可以用的,pycharm里的python环境也是jupyter Notebook的)
%time可以测量一行代码执行的时间
%timeit可以测量一行代码多次执行的时间
网上有说法说,%timeit是测量一行代码100000次循环内,3次最快速度的平均值,就像下面这样:
但是现在去跑时,已经不是这个效果了:
1、%time、%%time、%timeit、%%timeit的比较
%time: 在行模式下,代码运行一次所花费的时间。
%%time:在单元模式下,代码运行一次所花费的时间。
%timeit: 在行模式下,执行代码块若干次,取最佳结果。
%%timeit: 在单元模式下,执行代码块若干次,取最佳结果。
1)注解:
1> 行模式: 只对紧跟其后的代码进行测试。即无法使用换行符来添加代码块进行测试。
2> 单元模式: 用于代码块的测试。它不仅对紧跟其后的代码发挥作用,通过换行符添加的其余代码,会被视为一个整体进行测试。其中,第一行代码用作设置代码(已执行但未计时),并且单元的主体已计时。单元主体可以访问在设置代码中创建的任何变量。
2)举例:
In[102]: %%timeit # 用于单元模式
...: for num in range(1, 10000):
...: result = 0