Pythonのtimeitモジュールでコードの実行時間を計測する方法

この記事では、Pythonの `timeit` モジュールを使用してコードの実行時間を計測する方法について詳しく解説します。具体的なコード例とその解説、応用例を含めています。

目次

timeitモジュールとは

`timeit` モジュールは、Pythonで小さなコード断片の実行時間を計測するための標準ライブラリです。これを使用することで、コードのパフォーマンスを正確に評価できます。

基本的な使用方法

Pythonの `timeit` モジュールの基本的な使用方法を以下に示します。

timeit関数を使用する方法

import timeit

# コードの実行時間を計測
result = timeit.timeit('"-".join(str(n) for n in range(100))', number=10000)
print(f"実行時間: {result} 秒")

コードの詳細解説

– `import timeit`: `timeit` モジュールをインポートします。
– `timeit.timeit()` 関数は、第一引数に計測したいコード(文字列として)を渡します。
– `number=10000`: コードを10,000回実行することで平均的な実行時間を計測します。

応用例

timeitで複数のコードの比較

# list comprehensionとfor-loopの速度比較
list_comprehension = timeit.timeit('"-".join([str(n) for n in range(100)])', number=10000)
for_loop = timeit.timeit('"-".join(str(n) for n in range(100))', number=10000)

print(f"list comprehension: {list_comprehension} 秒")
print(f"for-loop: {for_loop} 秒")

解説

この例では、リスト内包表記と通常のforループで文字列を連結する速度を比較しています。計測結果によって、どちらの方法が高速かを判断できます。

setup引数で初期設定

# 初期設定を入れる例
result_with_setup = timeit.timeit('x.sort()', setup='x = [4, 2, 8, 1]', number=10000)
print(f"実行時間(初期設定あり): {result_with_setup} 秒")

解説

`setup` 引数を使用することで、計測前に一度だけ実行される初期設定コードを設定できます。この例では、ソートするリスト `x` を事前に定義しています。

まとめ

`timeit` モジュールは非常に便利なツールであり、正確なコードのパフォーマンス測定が可能です。基本的な使用方法から応用例まで、このモジュールを使いこなすことで、より効率的なコードの開発が行えるでしょう。

コメント

コメントする

目次