除了单元格的原始输出之外,我还想获得在单元格执行上花费的时间。
为此,我尝试了,%%timeit -r1 -n1但它没有公开单元格中定义的变量。
%%timeit -r1 -n1
%%time适用于仅包含 1 条语句的单元格。
%%time
In[1]: %%time 1 CPU times: user 4 碌s, sys: 0 ns, total: 4 碌s Wall time: 5.96 碌s Out[1]: 1 In[2]: %%time # Notice there is no out result in this case. x = 1 x CPU times: user 3 碌s, sys: 0 ns, total: 3 碌s Wall time: 5.96 碌s
最好的方法是什么?
我在 Nbextension中使用 Execute Time 已经有一段时间了。太好了。
到目前为止,这是正确的答案。从本质上讲,%%time现在%%timeit两者都按预期工作。
%%timeit
这只是旧版本中的一个问题。
您现在需要做的就是放在%%time单元格的顶部。
%time衡量某项运行所需的时间。报告长时间运行的操作比进行低级优化更好。
%time
%%timeit是一个基准测试工具,它一遍又一遍地运行语句,以提供某些语句的 平均 运行时间以及标准偏差。由于语句重复执行的方式,在单元格中创建的变量%%timeit在其他单元格中不可用。
%%timeit使用 pythontimeit模块。那个文档说,
timeit
它避免了许多用于测量执行时间的常见陷阱。另请参阅 Tim Peters 对 Python Cookbook 中“算法”一章的介绍,由 O’eilly 出版。
我 希望 该模块仍然具有相关性,因为它所引用的参考描述了诸如(1)Windows 98 的解决方法time.time()每秒仅更新 18.2 次,以及(2)将所有语句集中到一行以避免字节码开销增加行号计数器。
time.time()