Mengukur Masa Pelaksanaan Fungsi dalam Go dengan Ketepatan Milisaat
Salah satu cabaran dalam Go ialah menentukan masa jalan sesuatu fungsi dan melaporkannya dalam milisaat.
Penyelesaian: Memanfaatkan Go's tangguh
Penyata penangguhan Go menyediakan penyelesaian yang mudah untuk fungsi pemasaan. Begini cara ia boleh dicapai:
Langkah 1: Tentukan Fungsi Utiliti
Tentukan fungsi utiliti berikut dalam 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, "ElapsedTime in seconds:", endTime.Sub(startTime)) }
Langkah 2: Masakan Fungsi Anda
Kepada masa fungsi bernama someFunction, bungkusnya dengan trace() dan un() panggilan seperti berikut:
func someFunction() { defer un(trace("SOME_ARBITRARY_STRING_SO_YOU_CAN_KEEP_TRACK")) // Do your function logic here }
Penjelasan
Fungsi trace() dipanggil di permulaan fungsi, merakam masa mula. Fungsi un() ditunda ke penghujung fungsi, mengukur masa berlalu dan mencetaknya ke log dengan ketepatan milisaat.
Menyesuaikan Pengukuran Masa
Ini teknik boleh diubah suai untuk mengukur unit masa lain seperti nanosaat atau mikrosaat dengan melaraskan endTime.Sub(startTime) pengiraan.
Dengan memanfaatkan kenyataan penangguhan Go, anda boleh dengan mudah dan tepat mengukur masa pelaksanaan fungsi dalam milisaat, memberikan cerapan berharga untuk pengoptimuman prestasi.
Atas ialah kandungan terperinci Bagaimanakah saya boleh mengukur masa pelaksanaan fungsi dengan cekap dalam Go dengan ketepatan milisaat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!