基准测试
1. 什么是基准测试
基准测试用于衡量代码的性能表现,测试函数执行所需的时间。使用 testing.B 类型。
2. 编写基准测试函数
函数名以 Benchmark 开头,接收 *testing.B 参数:
func BenchmarkAdd(b *testing.B) {
for i := 0; i < b.N; i++ {
Add(1, 2)
}
}
3. 运行基准测试
使用 -bench 标志运行:
go test -bench=.
输出会显示每次操作所用的时间和操作次数。
4. 示例输出
BenchmarkAdd-8 1000000000 0.45 ns/op
5. 注意事项
- 避免在循环中使用
fmt.Println等耗时操作 - 使用
b.ResetTimer()和b.StopTimer()控制测试范围
基准测试是 Go 标准库 testing 的一部分,是优化代码性能的重要工具。
相关内容
- 什么是 Go Go 是由 Google 开发的一种开源编程语言,以简洁、高效、并发编程支持强著称,广泛应用于后端开发、云原生和微服务等领域。
- Go 的特点与适用场景 Go 语言以高并发、快速编译、简洁语法和强大标准库著称,适用于构建高性能网络服务、微服务架构和云原生应用。
- 安装 Go(Windows/Linux/macOS) 本节介绍如何在 Windows、Linux 和 macOS 上安装 Go 语言开发环境,包含安装步骤、验证方法及常见注意事项。
- 设置环境变量 本节介绍如何为 Go 语言配置环境变量,包括 GOPATH、GOROOT、PATH 等关键变量,适用于 Windows、Linux 和 macOS 系统。
- 第一个 Go 程序(Hello World) 本节将带你编写第一个 Go 程序“Hello, World”,帮助你快速了解 Go 的基础语法和程序结构。
- Go Modules 简介 本节介绍 Go Modules 的基本概念与用法,它是 Go 官方推荐的依赖管理方式,支持版本控制、依赖隔离和构建一致性。