LoginSignup
2
3

More than 5 years have passed since last update.

処理時間計測モジュールを作成してみた

Last updated at Posted at 2017-12-13

やりたいこと

ソースで速度が遅い場合に、どこの部分がボトルネックとなるかを計測したいとき
関数レベルであると、デコレータつかったり、timeit利用したりできるけど、
関数内で、処理Aに何秒、処理Bに何秒、...みたいに測定したい場合に利用できるものが欲しかったので作成してみました。

ソース

使い方

from timer import Timer

timer = Timer()
timer.start('fileread')
(ファイル読み込み処理
timer.stop('fileread')

# 指定キー(fileread) の結果が出力される
print(timer.get_result('fileread'))

timer.start('sort')
(ソート処理)
timer.stop('sort')

 # 計測したキー全ての結果が出力される
print(timer.get_all_result())

よければ使ってみてください!

2017年12月19日 追記

show_results関数を追加しました。

timer = Timer()

timer.start("fileread")
...
timer.stop("fileread")

timer.start("sort")
...
timer.stop("sort")

timer.show_results()
fileread   : 4.004
sort       : 3.003

という感じにちゃんとtimer.startとした順番で表示されるようにしてます。

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3