ホームページ >バックエンド開発 >Golang >Go で関数の実行時間をミリ秒の精度で測定するにはどうすればよいですか?

Go で関数の実行時間をミリ秒の精度で測定するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-01 05:50:10281ブラウズ

How Can I Measure Function Runtime in Go with Millisecond Precision?

ミリ秒精度で Go で関数の実行時間を計算する

Go では、関数の実行時間を測定し、その期間をミリ秒単位で返すことが簡単になります遅延関数の力のおかげです。その方法は次のとおりです:

Go 1.x 以降の場合、次のユーティリティ関数を定義します:

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, "Elapsed Time in seconds:", endTime.Sub(startTime))
}
次に、関数の時間を計測するには、単に un() 関数を遅延します。関数の先頭に適切な文字列を付けます:

func someFunction() {
    defer un(trace("SOME_ARBITRARY_STRING_SO_YOU_CAN_KEEP_TRACK"))

    // Do your stuff ...
}
この関数を実行すると、開始を示す簡潔なログ メッセージが表示されます。

この方法は、ロギングのオーバーヘッドがあるため、非常に正確なタイミングには完璧ではありませんが、ほとんどの場合に効果的で便利なアプローチであることに留意してください。使用例。 Go の遅延テクニックを使用すると、関数の時間を計測し、その実行時間を追跡することが簡単になります。

以上がGo で関数の実行時間をミリ秒の精度で測定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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