遅延機能を使用して Go で関数の実行時間を測定する方法

DDD
リリース: 2024-11-17 09:12:03
オリジナル
329 人が閲覧しました

How to Measure Function Runtime in Go Using the Defer Feature?

Go での関数実行時間の測定

Go では、関数の実行時間を測定する簡単な方法は、遅延を利用することです。

実装

  1. 次のヘルパー関数を定義します。
func trace(s string) (string, time.Time) {
    log.Println("START:", s)
    return s, time.Now()
}

func un(s string, startTime time.Time) {
    endTime := time.Now()
    log.Println("  END:", s, "ElapsedTime in seconds:", endTime.Sub(startTime))
}
ログイン後にコピー
  1. これらの関数をターゲットfunction:
func someFunction() {
    defer un(trace("SOME_ARBITRARY_STRING_SO_YOU_CAN_KEEP_TRACK"))

    // Perform the function's intended operations here...
}
ログイン後にコピー

説明

  • trace() 関数は関数の先頭で呼び出され、関数名と現在の時刻。
  • defer un ステートメントは、un() の実行を、
  • un()を実行すると、現在時刻とtrace()で取得した開始時刻の差分を使って経過時間を計算します。
  • 時刻が記録されます。

注:

  • このアプローチは、ログ ステートメントのため原子時計の精度が高くありません。より正確なタイミングを得るには、特定のプロファイリング ツールの使用を検討してください。

以上が遅延機能を使用して Go で関数の実行時間を測定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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