首页 >后端开发 >Golang >如何以毫秒精度测量 Go 中的函数运行时间?

如何以毫秒精度测量 Go 中的函数运行时间?

Linda Hamilton
Linda Hamilton原创
2024-12-01 05:50:10288浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn