英文:
Running benchmarks without "go test" in golang
问题
我想在我的应用程序中运行基准测试。这可能吗?如果可以,我该如何操作?我一直在寻找相关信息,但目前还没有看到任何迹象。
英文:
I want to run the benchmarks in my application. Is that possible? If so, how can I? I have been looking around but haven't seen any indication so far.
答案1
得分: 6
你可以在不运行go test
的情况下使用testing.Benchmark。
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)
// (在我的 Mac 上)
// 3000000 454 ns/op
}
以上是你要翻译的内容。
英文:
You can use testing.Benchmark without running 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
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论