Go で継続時間を正確に測定する
ほとんどのアプリケーションは標準時間パッケージを使用して継続時間を測定しますが、その制限に対処することが重要です。正確な結果が得られます。 time.Now() はシステム時間に依存しており、タイムゾーンの変更や NTP サーバーとのクロック同期の影響を受ける可能性があります。
これらの課題を克服するために、Go は外部時間の影響を受けない「単調クロック」を提供します。調整。 Go 1.9 以降、Go の継続時間はこの単調クロックを自動的に利用します。
これは、次のコードは、たとえ時間指定された操作中に壁時計が変化したとしても、常に約 20 ミリ秒の正の経過時間を計算することを意味します。
start := time.Now() ... operation that takes 20 milliseconds ... t := time.Now() elapsed := t.Sub(start)
time.Since(開始)、time.Until(デッドライン)、およびtime.Now().Before(deadline) は、壁時計のリセットに対しても耐性があります。
したがって、Go で実行時間を正確に測定するには、単純に time パッケージの time.Now() と time.Sub() を使用します。機能。これらの関数により、経過時間の測定が一貫しており、システム クロック調整の影響を受けないことが保証されるようになりました。
以上がGo で実行時間を正確に測定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。