MST

星途 面试题库

面试题:Go语言中如何进行简单的基准测试

请简述在Go语言里使用内置的testing包进行基准测试的基本步骤,并给出一个简单示例,例如对一个加法函数进行基准测试。
40.9万 热度难度
编程语言Go

知识考点

AI 面试

面试题答案

一键面试

基本步骤

  1. 导入testing:在需要进行基准测试的Go文件中导入testing包,它是Go语言内置的测试包,包含了基准测试相关的功能。
  2. 编写基准测试函数:函数命名规则为Benchmark + 被测试函数名,例如BenchmarkAdd。函数接收一个*testing.B类型的参数。
  3. 在基准测试函数中执行测试:在testing.BResetTimer方法之后,使用循环(一般是for i := 0; i < b.N; i++)多次调用被测试的函数,b.N是Go测试框架为了得到稳定可靠的基准测试结果而自动调整的循环次数。
  4. 运行基准测试:在命令行进入包含基准测试函数的Go文件所在目录,执行go test -bench=.命令,其中-bench=.表示运行所有基准测试。

示例代码

package main

import "testing"

func Add(a, b int) int {
    return a + b
}

func BenchmarkAdd(b *testing.B) {
    for i := 0; i < b.N; i++ {
        Add(1, 2)
    }
}

在上述代码中,定义了Add函数用于加法运算,然后编写了BenchmarkAdd基准测试函数,在函数中循环调用Add函数进行基准测试。运行go test -bench=.命令即可看到对Add函数的基准测试结果。