9.8Go之函数之计算执行时间
计算函数执行时间应用场景
对比和基准测试
作用:
-
衡量函数性能的一个重要指标
计算函数执行时间的方法
在函数执行之前设置一个起始时间,并在函数运行结束时获取从起始时间到现在的时间间隔
时间间隔就是运行时间
Go语言中的time包下提供了Since()函数来获取:
func Since(t Time) Duration
Since() 函数返回从 t 到现在经过的时间,等价于time.Now().Sub(t)
使用Since()函数获取函数运行时间的实例:
package main
import (
"fmt"
"time"
)
/*
计算运行时间的函数。使用Since函数,记录函数运行开始时间--->time.Now()
使用Since函数进行时间计算--->time.Since(start)
*/
func test() {
//函数开始计时器
start := time.Now()
//函数体
sum := 0
for i := 0; i < 1000000; i++ {
sum++
}
//函数完成时间
end := time.Since(start)
fmt.Println("函数执行完毕耗时:", end)
}
func main() {
test()
}
使用time.Now.Sub函数计算运行时间
package main
import (
"fmt"
"time"
)
/*
使用time.now.sub函数进行计算
过程一样不需要变化
*/
func test2() {
//函数开始时间
start := time.Now()
//函数体
sum := 0
for i := 0; i < 10000000; i++ {
sum++
}
//函数结束时间
end := time.Now().Sub(start)
fmt.Println("函数执行完毕耗时:", end)
}
func main() {
test2()
}
It's a lonely road!!!