以毫秒精度計算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中文網其他相關文章!