go defer性能测试

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: 在学习中了解到defer相比没有使用defer会消耗部分时间,所以测试了下,使用与不使用defer的性能测试,通过实验,defer影响程序的速度基本可以忽略不计。

在学习中了解到defer相比没有使用defer会消耗部分时间,所以测试了下,使用与不使用defer的性能测试,通过实验,defer影响程序的速度基本可以忽略不计。

package main

import (
    "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
相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
目录
相关文章
|
6月前
|
SQL 安全 数据库连接
《Go 简易速速上手小册》第6章:错误处理和测试(2024 最新版)(上)
《Go 简易速速上手小册》第6章:错误处理和测试(2024 最新版)
72 1
|
6月前
|
Go
Go语言中defer的执行顺序详解
【2月更文挑战第22天】
110 4
|
6月前
|
JSON 测试技术 Go
《Go 简易速速上手小册》第6章:错误处理和测试(2024 最新版)(下)
《Go 简易速速上手小册》第6章:错误处理和测试(2024 最新版)
63 0
|
17天前
|
测试技术 Go
go语言中测试工具
【10月更文挑战第22天】
29 4
|
3月前
|
存储 Go
掌握 Go 语言的 defer 关键字
掌握 Go 语言的 defer 关键字
|
3月前
|
SQL 安全 测试技术
[go 面试] 接口测试的方法与技巧
[go 面试] 接口测试的方法与技巧
|
3月前
|
算法 安全 测试技术
Go - 常用签名算法的基准测试
Go - 常用签名算法的基准测试
33 2
|
3月前
|
Go
实验深度理解Go中try...catch...的panic、defer、recover用法
文章通过实验代码演示了Go语言中如何使用panic、defer和recover函数来模拟try...catch...的异常处理机制,并详细解释了每个函数的作用和在异常处理中的使用场景。
36 0
|
4月前
|
运维 监控 测试技术
Golang质量生态建设问题之接入并使用Go单元测试插件的问题如何解决
Golang质量生态建设问题之接入并使用Go单元测试插件的问题如何解决
|
3月前
|
JSON 测试技术 Go
Go 单元测试完全指南(一)- 基本测试流程
Go 单元测试完全指南(一)- 基本测试流程
32 0