1.背景
分析程序执行效率,需求计算程序段运行时间。
2.方案
实际上就是时间差,并显示出来。其中time.Since()函数返回字符串类型,例如1h2m3s等,可能还有us等。
2.1计算代码块的运行时间
start := time.Now() //some func or operation cost := time.Since(start) fmt.Printf("cost=[%s]",cost)
2.2计算函数的运行时间
利用defer的作用,可以在函数开始的时候获取一个时间,使用time.Now()在函数结束的时候,获取程序从标记开始的时间段,可以得到函数运行的时间。
func compute() { start := time.Now() defer func() { cost := time.Since(start) fmt.Println("cost=", cost) }() // some computation }//compute