IPython:关闭%timeit有关“的消息”;这可能意味着正在缓存中间结果;

IPython:关闭%timeit有关“的消息”;这可能意味着正在缓存中间结果;,ipython,Ipython,自从升级到IPython版本3(我有3.1.0)以来,每次使用%timeit命令时,它都会在打印计时结果之前打印“最慢的运行时间比最快的运行时间长[number]倍。这可能意味着正在缓存中间结果”。即使是非常简单的操作也会发生这种情况。例如: In [4]: x = 5 In [5]: %timeit x The slowest run took 53.99 times longer than the fastest. This could mean that an intermediate

自从升级到IPython版本3(我有3.1.0)以来,每次使用
%timeit
命令时,它都会在打印计时结果之前打印“最慢的运行时间比最快的运行时间长[number]倍。这可能意味着正在缓存中间结果”。即使是非常简单的操作也会发生这种情况。例如:

In [4]: x = 5

In [5]: %timeit x
The slowest run took 53.99 times longer than the fastest. This could mean that an intermediate result is being cached 
100000000 loops, best of 3: 19.8 ns per loop
以及:

只有少数情况下我可以避免这种情况发生,例如:

In [15]: %timeit 5
100000000 loops, best of 3: 8.37 ns per loop

我知道可能会在某个级别上进行一些缓存(例如,如中所述),但该消息会分散注意力,并不真正有用。有什么方法可以关闭它吗?

%timeit-q
将保持静默,并且
-o
选项将返回结果。这有点不同,但应该可以做到。

哦,太酷了,我甚至不知道魔法函数可以接受标志或返回结果。我将尝试看看是否有一种方法可以在每次都不输入它们的情况下为它提供默认标志,但这种解决方案肯定比没有好。
In [15]: %timeit 5
100000000 loops, best of 3: 8.37 ns per loop