在学习中了解到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
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦