Jupyter Notebookの%timeitと%%timeit(Python)
2022/3/20
PythonをJupyter Notebookで使う際の、マジックコマンド(%timeit
と%%timeit
)の使い方です。
%timeitとは
%timeit
は1行のプログラムについて処理時間を計測します。
# Create a list containing squares of from 0 to 9999 (List Comprehension)
# Num of loops: 1000 times, Num of tries: 10 times
%timeit -n 1000 -r 10 [x**2 for x in range(10000)]
# Output Result
# 6.75 ms ± 309 µs per loop (mean ± std. dev. of 10 runs, 1,000 loops each)
このように、計測したいプログラムの行頭に回数を指定する。
%%timeitとは
%%timeit
と「%」を2つ書くことで、プログラム全体(セル内)の処理時間の計測ができます。
%%timeit -n 1000 -r 10
ret = []
for x in range(10000):
ret.append(x**2)
# Output Result
# 8.25 ms ± 428 µs per loop (mean ± std. dev. of 10 runs, 1,000 loops each)
このようにすると、セル内の処理時間が計測できます。
試した感想
まずは、同じ処理でもループより内包表記の方が速いことが分かります。
また、処理時間計測には時間がかかるため、プログラム実行中はIn [*]のように、*印が表示されます。処理が完了すると、数字に変わります。