首頁 > 後端開發 > Golang > 如何以毫秒精度測量 Go 中的函數運行時間?

如何以毫秒精度測量 Go 中的函數運行時間?

Linda Hamilton
發布: 2024-12-01 05:50:10
原創
280 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板