我使用回溯编写了一个小型数独求解器。现在我想对这个函数的速度进行基准测试。这是我当前的代码:
type Board struct {
Cells [9][9]int
}
func BenchmarkBacktrack(b *testing.B) {
for i := 0; i < b.N; i++ {
b.StopTimer()
// prevent the modification of the orignal board
copy := &Board{
Cells: exampleBoard.Cells,
}
b.StartTimer()
copy.Backtrack()
}
}
由于&Board是指针,我将在第一次迭代中解决数独问题,而在下一次迭代中,我将回溯已解决的棋盘。因此,我在每次迭代开始时重置电路板。exampleBoard充满了样本值。
他们是否是一种更好的方法来对功能进行基准测试,而无需一遍又一遍地停止和重新启动计时器?
并且不会让函数调用花费少量时间来影响基准测试?
Qyouu
FFIVE
相关分类