コードの一部をスピードテストするために、Python で 2 つの時間を比較する適切な方法は何ですか? API ドキュメントを読んでみました。timedelta についてよくわかりません。
これまでのところ、このコードがあります:
from datetime import datetime
tstart = datetime.now()
print t1
# code to speed test
tend = datetime.now()
print t2
# what am I missing?
# I'd like to print the time diff here
ベストアンサー1
datetime.timedelta
2つの日付と時刻の差です。つまり、日数/秒数/マイクロ秒数で表した時間のようなものです。
>>> import datetime
>>> a = datetime.datetime.now()
>>> b = datetime.datetime.now()
>>> c = b - a
>>> c
datetime.timedelta(0, 4, 316543)
>>> c.days
0
>>> c.seconds
4
>>> c.microseconds
316543
c.microseconds
はタイムデルタのマイクロ秒部分のみを返すことに注意してください。タイミング目的では常に を使用してくださいc.total_seconds()
。
datetime.timedelta を使用すると、さまざまな計算を実行できます。例:
>>> c / 10
datetime.timedelta(0, 0, 431654)
ただし、ウォールクロック時間ではなく CPU 時間を確認する方が便利かもしれません...ただし、これはオペレーティング システムに依存します... Unix 系システムでは、「time」コマンドを調べてください。