Go语言测试第二弹——基准测试
package main
import (
"testing"
"time"
)
// 一个简单的函数,我们用来测试性能
func benchmarkFunction(n int) int {
sum := 0
for i := 0; i < n; i++ {
sum += i
}
return sum
}
// 这是一个基准测试的例子
func BenchmarkSum100(b *testing.B) {
for i := 0; i < b.N; i++ {
benchmarkFunction(100)
}
}
// 这是另一个基准测试的例子,使用了基准测试的并行版本
func BenchmarkSum1000(b *testing.B) {
b.RunParallel(func(pb *testing.PB) {
i := 0
for pb.Next() {
benchmarkFunction(1000)
i++
}
})
}
func main() {
// 运行基准测试
result := testing.Benchmark(func(b *testing.B) {
for i := 0; i < b.N; i++ {
benchmarkFunction(100)
}
})
// 打印测试结果
println("Benchmark result:", result.String())
}
这段代码定义了两个基准测试示例,并在main
函数中直接调用了基准测试函数。它展示了如何编写基准测试,并在main
函数中直接打印出测试结果。这样做可以方便地进行性能测试,并直接在程序中展示测试结果。
评论已关闭