パフォーマンス テストのための Python での実行時間の測定 timeit
Python コードのパフォーマンスを測定するために、開発者は多くの場合、その実行時間を測定する必要があります。この記事では、Python timeit モジュールについて説明し、パフォーマンス テストでのその使用法を示します。
Setup
提供された Python スクリプトはループを反復処理し、SQL 更新ステートメントを実行します。各反復にかかる時間を測定するには、timeit モジュールを利用できます。
ソリューション
timeit モジュールは、コード タイミングのための直感的なメカニズムを提供します。指定されたコード スニペットを複数回実行して、正確な測定値を取得します。以下に例を示します。
<code class="python">import timeit # Code snippet to be timed code = """ update TABLE set val = {rannumber} where MyCount >= '2010' and MyCount < '2012' and number = '250' """.format(rannumber=random.randint(0, 100)) # Set the number of repetitions and warmup iterations reps = 5 warmup_time = 2 # Measure the execution time result = timeit.timeit(code, number=reps, repeat=1, warmup=warmup_time) # Output the result print("Execution time: {:.6f} seconds".format(result))</code>
このコードでは、timeit 関数は、warmup_time 反復のウォームアップ期間を使用して、コード スニペットの反復回数を実行します。 number=1 オプションは、コードが 1 回だけ実行されることを保証します (繰り返しによる結果の歪みを防ぐため)。
代替アプローチ
時間が適切でない場合は、代替アプローチメソッドには、time.time() または time.clock() の使用が含まれます。これらのメソッドは時間の精度に欠けますが、実装は簡単です。 time.time() の例を次に示します。
<code class="python">import time # Get the start time start_time = time.time() # Execute the code # ... # Get the end time end_time = time.time() # Calculate the execution time execution_time = end_time - start_time # Output the result print("Execution time: {:.6f} seconds".format(execution_time))</code>
結論
timeit モジュールは、Python コードの実行時間を正確に測定するための貴重なツールです。繰り返しとウォームアップ反復の数を指定することにより、timeit は信頼性の高いパフォーマンス メトリックを提供します。タイミングの精度が低い場合は、time.time() または time.clock() の使用を検討してください。
以上が正確なパフォーマンス テストに Python の timeit モジュールを使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。