Несоответствие между %time и %timeit в IPython

Я столкнулся со странной ситуацией, которую не могу объяснить. Вот мой тест на генерацию большого списка кортежей:

In [1]: def get_list_of_tuples():
   ...:     return [(i,) for i in range(10**6)]
   ...:

In [2]: %time res = get_list_of_tuples()
CPU times: user 0.93 s, sys: 0.08 s, total: 1.01 s
Wall time: 0.98 s

In [3]: %timeit res = get_list_of_tuples()
1 loops, best of 3: 92.1 ms per loop

Как вы можете видеть, генерация этого большого списка кортежей занимает чуть меньше секунды. timeit сообщает, что время выполнения составляет около 0,1 секунды. Почему такая большая разница в этих двух отчетах?

(Проверено на IPython 0.11, Python 2.6.5.)

25
задан badzil 23 December 2011 в 22:33
поделиться