gpt4 book ai didi

go - 访问基准测试结果

转载 作者:IT王子 更新时间:2023-10-29 02:34:16 25 4
gpt4 key购买 nike

我看到有一个结构 testing.BenchmarkResult在 Go 中访问基准测试的结果,但我发现很少有文档或示例可以帮助我使用它。

到目前为止,我只是像这样对我的函数进行基准测试:

func BenchmarkMyFunction(b *testing.B) {
// call to myFunction
}

然后运行:

go test -bench=".*"

此处结果打印到控制台,但我想将它们存储在单独的文件中。我如何使用 BenchmarkResult 类型来执行此操作?

最佳答案

例如:

package main

import (
"fmt"
"testing"
"time"
)

func Add(a, b int) int {
time.Sleep(10 * time.Microsecond) // Just to make the test take some time
return a + b
}

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

func main() {
res := testing.Benchmark(BenchAdd)
fmt.Printf("%s\n%#[1]v\n", res)
}

产生:

  120000         10000 ns/op
testing.BenchmarkResult{N:120000, T:1200000000, Bytes:0, MemAllocs:0x0, MemBytes:0x0, Extra:map[string]float64{}}

Playground .

您可以使用 ioutil.WriteFile 轻松地将这些结果写入文件. Playground w/ WriteFile .

关于go - 访问基准测试结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28045711/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com