私は説明できない奇妙な状況に直面しています。ここではタプルの大規模なリストの生成タイミング私のテストです:あなたが見ることができるようにIPythonの%timeと%timeitの不一致
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秒に報告します。 2つのレポートに大きな違いがあるのはなぜですか?
(IPython 0.11、Pythonの2.6.5でテスト。)
あなたが実行する場合は、同じ結果を得ますか最初に%timeit、%time secondに? – sth
興味深いコメント。はい、同様の結果が逆順で実行されます。 – badzil
私はIronPythonを知らないので、 '%time'や'%timeit'についてはあまり言えませんが、 '%time'はタイミングテストを10回繰り返すと思います。 –