【问题标题】:Running benchmarks without "go test" in golang在 golang 中运行没有“go test”的基准测试
【发布时间】:2017-09-10 04:16:40
【问题描述】:

我想在我的应用程序中运行基准测试。那可能吗?如果是这样,我该怎么办?我一直在环顾四周,但到目前为止还没有看到任何迹象。

【问题讨论】:

    标签: testing go benchmarking


    【解决方案1】:

    您可以使用testing.Benchmark 而不运行go test

    package main
    
    import (
        "fmt"
        "testing"
    )
    
    func Fib(n int) int {
        if n <= 0 {
            return 0
        } else if n == 1 {
            return 1
        }
        return Fib(n-1) + Fib(n-2)
    }
    
    func main() {
        res := testing.Benchmark(func(b *testing.B) {
            for n := 0; n < b.N; n++ {
                Fib(10)
            }
        })
        fmt.Println(res)
        // (on my mac)
        // 3000000               454 ns/op
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-19
      • 2010-12-16
      • 2017-01-10
      • 1970-01-01
      • 1970-01-01
      • 2014-08-16
      • 1970-01-01
      • 2019-09-21
      相关资源
      最近更新 更多