Rumah > pembangunan bahagian belakang > Golang > Bagaimanakah Saya Boleh Mengukur Masa Jalanan Fungsi dalam Go dengan Ketepatan Milisaat?

Bagaimanakah Saya Boleh Mengukur Masa Jalanan Fungsi dalam Go dengan Ketepatan Milisaat?

Linda Hamilton
Lepaskan: 2024-12-01 05:50:10
asal
280 orang telah melayarinya

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

Mengira Masa Jalan Fungsi dalam Go dengan Ketepatan Milisaat

Dalam Go, mengukur masa jalan fungsi dan mengembalikan tempohnya dalam milisaat menjadi mudah terima kasih kepada kuasa fungsi tertunda. Begini cara anda boleh melakukannya:

Untuk Go 1.x dan ke atas, takrifkan fungsi utiliti 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, "Elapsed Time in seconds:", endTime.Sub(startTime))
}
Salin selepas log masuk

Kemudian, untuk menetapkan masa fungsi, hanya tangguhkan fungsi un() dengan rentetan yang sesuai pada permulaan fungsi:

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

    // Do your stuff ...
}
Salin selepas log masuk

Apabila anda menjalankan fungsi ini, anda akan mendapat mesej log ringkas yang menunjukkan mula dan tamat fungsi, bersama-sama dengan masa berlalu dalam beberapa saat.

Perlu diingat bahawa walaupun kaedah ini tidak sesuai untuk pemasaan yang sangat tepat disebabkan oleh overhed pembalakan, ia merupakan pendekatan yang berkesan dan mudah untuk kebanyakan kes penggunaan. Teknik penangguhan Go memudahkan fungsi masa dan menjejaki masa pelaksanaannya.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengukur Masa Jalanan Fungsi dalam Go dengan Ketepatan Milisaat?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan