func BenchmarkXxx(b *testing.B) — Go đo lường performance tự động điều chỉnh số lần chạy.
go
func BenchmarkAdd(b *testing.B) {
for i := 0; i < b.N; i++ {
Add(100, 200)
}
}
// Benchmark với setup
func BenchmarkSort(b *testing.B) {
data := generateLargeSlice(10000)
b.ResetTimer() // bỏ qua thời gian setup
for i := 0; i < b.N; i++ {
sort.Ints(data)
}
}bash
go test -bench=. # chạy tất cả benchmarks
go test -bench=BenchmarkAdd # chạy benchmark cụ thể
go test -bench=. -benchmem # hiển thị thêm B/op, allocs/op
benchstat old.txt new.txt # so sánh 2 kết quả