アプリケーション開発ポータルサイト
ServerNote.NET
ServerNote.NET厳選キャンペーン・クーポンはこちら!
カテゴリー【Python
Pythonで処理にかかった時間を計測するには
POSTED BY
2022-10-06

timeライブラリに時間計測関数が沢山あるので、どれかを使う。

https://docs.python.org/ja/3.7/library/time.html

今回はプログラム開始からの経過時間を返す関数「time.perf_counter」を使って計測する。
テストでtime.sleep(1)を計測で囲んでみて、ほぼ1秒の結果になれば正しい。

Pythonperf_counter.pyGitHub Source
import time

start_time = time.perf_counter()

time.sleep(1)

end_time = time.perf_counter()

print('time.sleep(1) time = {} Seconds'.format(end_time - start_time))

start_time = time.perf_counter_ns()

time.sleep(2)

end_time = time.perf_counter_ns()

print('time.sleep(2) time = {} MilliSeconds'.format((end_time - start_time) / 1000000))

perf_counterは秒単位で返し、perf_counter_nsはナノ秒単位で返す。
計測終了時間から計測開始時間を引けば、実行時間が得られる。
1ミリ秒=1000000ナノ秒であるので、2番目のサンプルでは、結果を1000000で割ってミリ秒単位で出力している。
perf_counter_nsはPython3.7以降で有効なので注意。

python3.7 perf_counter.py

time.sleep(1) time = 1.005002 Seconds
time.sleep(2) time = 2013.7422 MilliSeconds

sleepの前後を囲っての結果なので、ほぼ期待通りの結果ではあるが、5~15ミリ秒程度の誤差が出ているのはsleep関数かperf_counter関数自体のオーバーヘッドによるものか不明。

全国対応!水道直結型の【楽水ウォーターサーバー】Purest設置台数No1
新時代の水道直結型ウォーターサーバー【Purest】 ダイオーズジャパンの正規代理店。Purest設置台数は全国代...READ MORE
母子手帳副読本に掲載!新発想のスキンケア【ファムズベビー】
赤ちゃんの肌トラブルにはバリアで全身保湿 保湿力・持続力・保護力に優れた『ファムズベビー』は赤ちゃん...READ MORE
高品質・高濃度CBDオイルを低価格でご提供するNaturecan(ネイチャーカン)
NATURECAN(ネイチャーカン)は世界的なプロテイン企業であるマイプロテインの創設者の一人、 Andy Duckworth...READ MORE
※本記事は当サイト管理人の個人的な備忘録です。本記事の参照又は付随ソースコード利用後にいかなる損害が発生しても当サイト及び管理人は一切責任を負いません。
※本記事内容の無断転載を禁じます。
【webmaster/管理人】
自営業プログラマー
ご連絡は以下アドレスまで★

☆ServerNote.NETショッピング↓
ShoppingNote
☆お仲間ブログ↓
一人社長の不動産業務日誌
【キーワード検索】