Pythonでプログラムの性能測定や実行時間の測定をする方法

Pythonでプログラムの性能測定や実行時間の測定を行うには、いくつかの方法があります。以下に、一般的な方法を紹介します。

  1. timeモジュールを使用する方法:

    timeモジュールを使用して、プログラムの開始と終了の時間を記録し、その差から実行時間を計算します(モノトニッククロックを使用することをお勧めします)。前の回答で詳細を説明しました。

  2. timeitモジュールを使用する方法:

    timeitモジュールは、Pythonのコードの実行時間を計測するための専用ツールです。以下は使用例です:

    python
    import timeit
    
    def some_function():
        # ここで何らかの処理を実行する
    
    # some_function()の実行時間を計測
    execution_time = timeit.timeit(some_function, number=1)
    
    print(f"実行時間: {execution_time} 秒")
    

    timeit.timeit()関数は、指定した関数を指定した回数(ここでは1回)実行し、その実行時間を返します。この方法は繰り返し実行による平均実行時間を計測するのに役立ちます。

  3. cProfileモジュールを使用する方法:

    cProfileモジュールは、Pythonコードのプロファイリングに使用され、関数ごとの実行時間や呼び出し回数などの詳細な情報を提供します。以下は使用例です:

    python
    import cProfile
    
    def some_function():
        # ここで何らかの処理を実行する
    
    if __name__ == "__main__":
        cProfile.run("some_function()")
    

    cProfile.run()を使用して関数を実行し、プロファイル情報を表示します。

  4. Jupyter Notebookのマジックコマンドを使用する方法:

    Jupyter Notebookを使用している場合、%%timeマジックコマンドを使用してセル内のコードの実行時間を測定できます。セルの先頭に%%timeを追加するだけです。

    python
    %%time
    
    # ここで何らかの処理を実行する
    

これらの方法を使用することで、Pythonプログラムの性能測定や実行時間の測定を容易に行うことができます。適切な方法は、測定対象のコードやニーズに合わせて選択することが重要です。