タイトル: Pythonでタイマーを使いこなす方法
Pythonのタイマー関数:コードをモニタリングする3つの方法
このチュートリアルでは、次のものを使用します:
- **
time.perf_counter()
**によるPythonでの時間計測 - 状態を維持するためのクラス
- タスクを実行するためのコンテキストマネージャ
- 関数をカスタマイズするためのデコレータ
さらに、クラス、コンテキストマネージャ、デコレータの動作原理についての背景知識も得られます。各概念の例を探索するにつれて、コードの実行時間を計測するためだけでなく、他のアプリケーションでもこれらの概念を1つまたは複数使用することに刺激を受けるでしょう。各方法にはそれぞれ利点があり、状況に応じてどれを使用するかを学びます。さらに、プログラムをモニタリングするために使用できる作業中のPythonのタイマーも手に入れることができます!
Pythonのタイマー
まず、このチュートリアル全体で使用するいくつかのサンプルコードを見てみましょう。後で、このコードにPythonのタイマーを追加してパフォーマンスをモニタリングします。また、この例の実行時間を計測するためのいくつかの簡単な方法も学びます。
Pythonのタイマー関数
Pythonの組み込みモジュールであるtime
モジュールを確認すると、時間を計測することができるいくつかの関数があることがわかります。
Python 3.7では、thread_time()
などのいくつかの新しい関数が導入されました。さらに、すべての関数のナノ秒バージョンもあり、接尾辞に_ns
が付いています。例えば、perf_counter_ns()
はナノ秒バージョンです。
これらの関数を使用すると、Pythonコードの実行にかかる時間を簡単に計測できます。perf_counter()
関数は、高精度な時間を返すので、一般的にPythonのタイマーとして使用されます。ここでは、この関数を使用して実行時間を計測する方法を見ていきましょう。
上記のコードでは、time.perf_counter()
関数を使用してコードの実行時間を計測しています。start_time
にはコードの実行を開始した時点の時間が格納され、end_time
にはコードの実行を終了した時点の時間が格納されます。execution_time
変数には実行時間が格納され、最後にそれを表示しています。
この方法を使用すると、短いタスクの実行時間を計測するのに便利です。ただし、複数のタスクを計測する場合や、コードの一部分の実行時間を計測する場合には、より高度な方法が必要になることがあります。