Bag of ML Words

ML = Machine Learning, Music Love, and Miscellaneous things in daily Livings

Python: 実行時間計測とプロファイル的な何か

Matlabだと時間計測はticとtocにお任せで楽ちんだし、

計算時間のかかったところの解析はprofile on/off, profile viewerで終わり。

Pythonだとどうなんだろう?

 

時間を測る(お手軽)

timeモジュールを使うとカレント秒をとれるようだ。

time.clock()がシステム時間、time.time()が本当の(24時間の)時間*1・・・なのか?

で、これを2回取って差分を見る。結果はどっちでも同じだろうね。

>>> import time

>>> start_time = time.time()

>>> do_process()

>>> end_time = time.time()

>>> ellapsed_time = end_time - start_time # floatなので、0.2秒とかも測れる

>>> ellapsed_time

5.2341 #たとえばこんな感じ

 

実行時間解析(調査中)

pythonのcProfileを使ってみる。 - malibu-bulldogの日記

ここにあるやり方が一番楽っぽいな。

目的のスクリプトをtarget.pyとすると

% python -m cProfile -s time target.py > target_profile_sort_by_time

これでtarget_profile_sort_by_timeというファイルにプロファイル結果がまるっと保存される。

 

*1:UTCの00:00からの秒数のようだ