源码家族
当前位置:首页 > 资讯中心

资讯中心

【 Go语言计算函数执行时间 】

发布时间:2021-09-03 13:36:28 阅读次数:149

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

函数的运行时间的长短是衡量这个函数性能的重要指标,特别是在对比和基准测试中,要得到函数的运行时间,最简单的办法就是在函数执行之前设置一个起始时间,并在函数运行结束时获取从起始时间到现在的时间间隔,这个时间间隔就是函数的运行时间。


func Since(t Time) Duration

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

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

package main
import ( 
   "fmt" 
   "time"
   )
   func test() { 
    start := time.Now() // 获取当前时间  
    sum := 0
   for i := 0; i < 100000000; i++ {
          sum++   
           } 
  
  elapsed := time.Since(start)  
   
    fmt.Println("该函数执行完成耗时:", elapsed)
    }func main() {
        test()
        }

运行结果如下所示:

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

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

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

纯文本复制
package main
import (  
  "fmt" 
  "time"
   )
   func test() { 
      start := time.Now() // 获取当前时间  
      sum := 0  
  
  for i := 0; i < 100000000; i++ { 
        sum++   
         }  
   elapsed := time.Now().Sub(start)  
   fmt.Println("该函数执行完成耗时:", elapsed)
   }
   func main() {   
      test()
        }

运行结果如下所示:

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

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


上一篇:MYSQL 唯一索引UNIQUE使用
下一篇:常用的Python常用第三方库