如何记录测试时间

zer*_*ing 0 testing go

我写了两个函数,现在我很想知道,哪个更快.我怎样才能找到它,哪一个更快?

如何通过测试找出哪一个更快?要为此提供计时器吗?

One*_*One 7

更好的是,Go提供了内置的基准测试和测试功能!

创建一个名为something_test.go的文件(必须具有_test部分).

func BenchmarkFunc1(b *testing.B) {
    for i := 0; i < b.N; i++ {
        _ = Func1()
    }
}

func BenchmarkFunc2(b *testing.B) {
    for i := 0; i < b.N; i++ {
        _ = Func2()
    }
}
Run Code Online (Sandbox Code Playgroud)

然后简单地运行: go test -bench=. -benchmem

它将打印每个函数花费的时间和内存使用/分配.

参考: