Go语言计算函数执行时间

在Go语言中我们可以使用 time 包中的 Since() 函数来获取函数的运行时间,Go语言官方文档中对 Since() 函数的介绍是这样的。

func Since(t Time) Duration

Since() 函数返回从 t 到现在经过的时间,等价于time.Now().Sub(t)

【示例】使用 Since() 函数获取函数的运行时间。

  1. package main
  2. import (
  3.     "fmt"
  4.     "time"
  5. )
  6. func test() {
  7.     start := time.Now() // 获取当前时间
  8.     sum := 0
  9.     for i := 0; i < 100000000; i++ {
  10.         sum++
  11.     }
  12.     elapsed := time.Since(start)
  13.     fmt.Println("该函数执行完成耗时:", elapsed)
  14. }
  15. func main() {
  16.     test()
  17. }

运行结果如下所示:

该函数执行完成耗时: 39.8933ms

上面我们提到了 time.Now().Sub() 的功能类似于 Since() 函数,想要使用 time.Now().Sub() 获取函数的运行时间只需要把我们上面代码的第 14 行简单修改一下就行。

【示例 2】使用 time.Now().Sub() 获取函数的运行时间。

  1. package main
  2. import (
  3.     "fmt"
  4.     "time"
  5. )
  6. func test() {
  7.     start := time.Now() // 获取当前时间
  8.     sum := 0
  9.     for i := 0; i < 100000000; i++ {
  10.         sum++
  11.     }
  12.     elapsed := time.Now().Sub(start)
  13.     fmt.Println("该函数执行完成耗时:", elapsed)
  14. }
  15. func main() {
  16.     test()
  17. }

运行结果如下所示:

该函数执行完成耗时: 36.8769ms

由于计算机 CPU 及一些其他因素的影响,在获取函数运行时间时每次的结果都有些许不同,属于正常现象。

上一篇:源发行版 1.8 需要目标发行版 1.8以及usage of api documented as @since 1.8+


下一篇:quickly calc pow(i, n) since i in [1~n]