在学习中了解到defer相比没有使用defer会消耗部分时间,所以测试了下,使用与不使用defer的性能测试,通过实验,defer影响程序的速度基本可以忽略不计。
package mainimport ( "time"
"fmt")func main() {
t1 := time.Now() for i := 0;i < 1000000;i++ {
test1()
}
et1 := time.Since(t1)
fmt.Println("Run time: ", et1)
t2 := time.Now() for i := 0;i < 1000000;i++ {
test2()
}
et2 := time.Since(t2)
fmt.Println("Run time: ", et2)
t3 := time.Now() for i := 0;i < 1000000;i++ {
test3()
}
et3 := time.Since(t3)
fmt.Println("Run time: ", et3)
}func test1() {
func() { for i := 0;i <10;i++{
}
}()
}func test2() { defer func() { for i := 0;i <10;i++{
}
}()
}func test3() { for i := 0;i <10;i++{
}
}
Run time: 11.0081ms
Run time: 70.0497ms
Run time: 11.0076ms
作者:laijh
链接:https://www.jianshu.com/p/24fe05b4bd14
随时随地看视频