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)) }
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 ... }
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!