1. ホーム
  2. python

[解決済み] Pythonスピードテスト - 時間差 - ミリ秒

2022-04-24 20:23:31

質問

コードの一部をスピードテストするために、Pythonで2回比較する適切な方法は何ですか?APIドキュメントを読んでみた。タイムデルタのことがよくわからない。

今のところ、こんなコードです。

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

どのように解決するのですか?

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 は、timedelta のマイクロ秒の部分のみを返します! タイミングをとるためには、常に c.total_seconds() .

datetime.timedeltaを使用すると、例えば、あらゆる種類の計算が可能です。

>>> c / 10
datetime.timedelta(0, 0, 431654)

しかし、壁時計の時間ではなく、CPUの時間を見る方が便利かもしれません...これはオペレーティングシステムに依存しますが...Unix系システムでは、「time」コマンドをチェックしてください。