ホームページ > バックエンド開発 > Golang > Go で実行時間を正確に測定するにはどうすればよいですか?

Go で実行時間を正確に測定するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-05 13:15:12
オリジナル
243 人が閲覧しました

How Can I Precisely Measure Execution Time in Go?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート