Bagaimana untuk Mengukur Masa Jalanan Fungsi dalam Go Menggunakan Ciri Tangguh?

DDD
Lepaskan: 2024-11-17 09:12:03
asal
328 orang telah melayarinya

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

Mengukur Masa Jalan Fungsi dalam Go

Dalam Go, cara mudah untuk mengukur masa pelaksanaan fungsi adalah dengan memanfaatkan penangguhan ciri.

Pelaksanaan

  1. Tentukan fungsi pembantu berikut:
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))
}
Salin selepas log masuk
  1. Gunakan fungsi ini dalam sasaran fungsi:
func someFunction() {
    defer un(trace("SOME_ARBITRARY_STRING_SO_YOU_CAN_KEEP_TRACK"))

    // Perform the function's intended operations here...
}
Salin selepas log masuk

Penjelasan

  • Fungsi jejak() dipanggil pada permulaan fungsi dan mengembalikan nama fungsi dan masa semasa.
  • Pernyataan defer un menangguhkan pelaksanaan un() sehingga penghujung fungsi.
  • Apabila un() dilaksanakan, ia mengira masa berlalu menggunakan perbezaan antara masa semasa dan masa mula yang diperoleh daripada surih().
  • Masa dilog masuk dalam milisaat.

Nota:

  • Pendekatan ini tidak tepat jam atom disebabkan oleh kenyataan pembalakan. Untuk pemasaan yang lebih tepat, pertimbangkan untuk menggunakan alat pemprofilan khusus.

Atas ialah kandungan terperinci Bagaimana untuk Mengukur Masa Jalanan Fungsi dalam Go Menggunakan Ciri Tangguh?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan