Python の time モジュールの clock()メソッドと time()メソッド
time
モジュールは Python の標準ライブラリの一部です。
このモジュールには、時間関連のユーティリティが含まれています。このモジュールは、コードブロックの実行時間の計算、時間から秒、日からミリ秒などのある単位から別の単位への時間の変換、実時間へのアクセスなど、さまざまなタスクに使用されます。
time
モジュールには、一般的に使用される clock()
と time()
の 2つのメソッドがあります。この記事では、Python の time
モジュールの clock()
メソッドと time()
メソッドについて説明します。
Python の time
モジュールの clock()
および time()
メソッド
time
モジュールの clock()
メソッドは、現在のプロセスが開始されてからの CPU 時間またはリアルタイムを返します。
残念ながら、この方法はプラットフォームに依存します。つまり、clock()
メソッドは、macOS、Linux、MicrosoftWindows などの UNIX ベースのオペレーティングシステムでは動作が異なります。
UNIX ベースのシステムの場合、このメソッドはプロセスの CPU 時間を浮動小数点として返し、秒単位で変換しました。同時に、Microsoft Windows は、このメソッドを最初に呼び出してから経過した実時刻または実時間(秒単位)を返します。
この不均衡のため、Python 3.8 の time
モジュールから clock()
メソッドが削除されました。
time()
メソッドは、現在の時刻を秒単位で浮動小数点として返します。clock()
メソッドとは異なり、time()
メソッドはプラットフォームに依存しません。
例を使ってその使用法を教えてください。これについては、次の Python コードを参照してください。
import time
start = time.time()
time.sleep(5)
end = time.time()
print(end - start)
出力:
5.021177291870117
上記の Python コードは、最初に time()
関数を呼び出し、タイムスタンプを変数に格納します。
次に、sleep()
メソッドを使用してスリープまたは 5
秒待機します。次に、再び time()
関数を呼び出し、タイムスタンプを保存します。最後に、時差をコンソールに出力します。
私にとって、時差は 5.021177291870117
であり、これは 5
に非常に近いことに注意してください。計算にはほとんど変化が見られないことに注意してください。
5
秒のスリープアクションは、完了するのに約 5
秒かかるタスクを表すために実行されます。コードブロックの実行時間を測定するには、2つの time()
メソッド呼び出しの間に配置する必要があります。
例については、次の Python コードを参照してください。
import time
start = time.time()
s = 0
for i in range(100000000):
s += i
print(s)
end = time.time()
print("Time Difference:", end - start)
出力:
4999999950000000
Time Difference: 14.171791315078735