ホームページ >バックエンド開発 >Python チュートリアル >正確なベンチマークを得るにはどの Python タイミング関数を使用する必要がありますか?

正確なベンチマークを得るにはどの Python タイミング関数を使用する必要がありますか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-12 19:28:02922ブラウズ

Which Python Timing Function Should You Use for Accurate Benchmarks?

Python のタイミング関数の精度比較

Python では、タイミングのための 2 つの主要な関数 time. Clock() と time.time を使用できます。 ()。どちらを選択するかは、必要な精度のレベルによって異なります。

Python 3.3 以降、time.clock() は非推奨になり、開発者は代わりに time.process_time() または time.perf_counter() を使用するよう求められます。

歴史的に、Python 2.7 のベンチマークには time. Clock() が推奨されていました。タイムモジュールのドキュメントによると、

  • Unix システムでは、time. Clock() は現在のプロセッサ時間を秒単位で返します。この測定は、基礎となる C 関数の精度に依存しており、アルゴリズムのタイミングに適しています。
  • Windows では、time. Clock() は、通常 1 の分解能で実測の経過秒数を浮動小数点数として提供します。 microsecond.

対照的に、time.time() は、過去の任意の時点からの実時間を秒単位で測定します。高精度を提供しますが、スリープ モードやタイム ゾーンの変更などのシステム イベントの影響を受ける可能性があります。

Python またはタイミング アルゴリズムのベンチマークには、time.process_time() または time.perf_counter() がより適切な選択肢になりました。前者は現在のプロセスの CPU 時間を返し、後者は高解像度のシステム時間を測定します。

さらに、timeit モジュールはコード スニペットのベンチマーク用に特別に設計された特殊な機能を提供し、正確で標準化されたタイミング結果を提供します。

以上が正確なベンチマークを得るにはどの Python タイミング関数を使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。