Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでプログラムの実行時間を測定する方法【time・timeitモジュール活用】

Pythonでプログラムの実行時間を計測したい場合、標準ライブラリの time モジュールや timeit モジュールを利用するのが一般的です。ここでは、それぞれの基本的な使い方と特徴をわかりやすく解説します。

timeモジュールで実行時間を計測する

最もシンプルな方法は、処理の開始前と終了後に時刻を取得し、その差分から経過時間を求めることです。Python公式ドキュメントでは、ベンチマーク目的には time.clock() の使用が推奨されていました。

※注意:time.clock() はPython 3.8で非推奨となり、3.10以降では削除されています。現在の環境では、より高精度な time.perf_counter() を使うことが推奨されます。

サンプルコード

import time

t0 = time.clock()
print("Hello")
t1 = time.clock() - t0
print("Time elapsed: ", t1)  # 経過したCPU秒(浮動小数点数)

実行結果

上記のコードを実行すると、次のような出力が得られます。

Time elapsed: 0.0009403145040156798

timeitモジュールで統計的な計測を行う

コード断片の実行時間をより正確に分析したい場合は、timeit モジュールが便利です。timeit は対象のコードを複数回実行し、最も短かった実行にかかった時間を報告してくれます。これにより、OSや他のプロセスの影響によるノイズを抑えた、安定した計測が可能になります。

サンプルコード

def f(x):
    return x * x

import timeit
timeit.repeat("for x in range(100): f(x)", "from __main__ import f", number=100000)

実行結果

[2.0640320777893066, 2.0876040458679199, 2.0520210266113281]

この例では、repeat() 関数がデフォルトで3回の計測を実行し、その結果をリストとして返しています。引数 number で1回あたりの実行回数を指定できるため、短い処理でも高い精度で計測できます。パフォーマンスのボトルネック調査やコードの最適化前後の比較にぜひ活用してください。

  1. Pythonで時系列データをプロットする方法をわかりやすく解説

    Pythonのmatplotlibを使えば、時系列データ(日時を軸にしたデータ)を簡単にグラフ化できます。ここでは、datetimeオブジェクトを含むデータを折れ線グラフとして描画する基本的な手順を紹介します。 時系列プロットの基本手順 numpyを使用して、x軸(日時データ)とy軸(数値データ)を作成します。 plot()メソッドを使って、作成したx・yのデータをプロットします。 show()メソッドを実行して、図を画面に表示します。 コード例 以下のサンプルコードでは、2021年1月1日の0時から23時までの24個の日時データを生成し、それに対応するランダムな数値をy軸としてプロットし

  2. Pythonプログラムの実行方法まとめ!IDLE・コマンドライン・PyCharmなど5つの方法を解説

    コードを書いたら、次はそれを実行して出力結果を確認する必要があります。プログラムを実行することで、書いたコードが正しく動作し、期待通りの結果が得られるかどうかをチェックできます。幸いなことに、Pythonプログラムの実行はとても簡単です。この記事では、代表的な5つの実行方法をわかりやすく解説します。IDLEで実行するPythonに標準で付属しているIDLEを使ってプログラムを実行するには、以下の手順に従います。Pythonのコードを書いて保存します。メニューから「Run > Run Module」を選択するか、キーボードのF5キーを押すだけで実行できます。IDLEは初心者にとって扱いやす