擅长:python、mysql、java
<p>主要区别在于“<a href="http://docs.python.org/library/timeit.html#timeit.Timer.timeit" rel="noreferrer">by default, timeit() temporarily turns off garbage collection during the timing</a>”。</p>
<p>旋转垃圾回收将返回与问题中显示的结果类似的结果,即使用垃圾回收的执行时间比不使用垃圾回收的执行时间大:</p>
<pre><code>In [1]: import timeit
# Garbage collection on.
In [2]: N = 10; timeit.timeit('[(i,) for i in range(10**6)]', 'gc.enable()', number=N) / N
Out[2]: 0.74884700775146484
# 749 ms per loop.
# Garbage collection off.
In [3]: N = 10; timeit.timeit('[(i,) for i in range(10**6)]', number=N) / N
Out[3]: 0.15906109809875488
# 159 ms per loop.
</code></pre>