パフォーマンス計測 (timeit)

投稿者: | 2月 25, 2021

timeitが細微な粒度レベルを見るのに対して、profile および pstats モジュールは、大きめのコードブロックを律速している部分を見つけるためのツールを提供する

>>> from timeit import Timer
SyntaxError: cannot assign to literal
>>> Timer ('t=a; a=b; b=t', 'a=1; b=2').timeit()
0.021119261000023926
>>> Timer ('a, b = b, a', 'a=1; b=2').timeit()
0.02064659699999538

# upper formula
>>> a = 1
>>> b = 2
>>> tmp = a
>>> a = b
>>> b = tmp
>>> print(a, b)
2 1

# lower formula
>>> a = 1
>>> b = 2
>>> a, b = b, a
>>> print(a, b)
2 1