在Go基准测试中,我有一些初始化代码来设置测试数据,然后具有如下所示的基准测试循环。似乎输出测量整个函数的运行时间,而不仅仅是循环中的内容。那对我来说不是有用的信息。有没有办法强制测量仅循环内容的运行时间,因为那是我所关心的?那不应该很明显吗?
func BenchmarkXXX(b *testing.B){
// Some test data init code..
for i:=0; i < b.N; i++ {
//benchmarking code..
}
答案 0 :(得分:4)
您可以通过在“测试数据初始化代码”之后调用b.ResetTimer()
来做到这一点。
func BenchmarkXXX(b *testing.B){
// Some test data init code..
b.ResetTimer()
for i:=0; i < b.N; i++ {
//benchmarking code..
}
}
请参见Benchmarks。