Trung BìnhGolang iconGolang

Benchmark testing trong Go?

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ả

Xem toàn bộ Golang cùng filter theo level & chủ đề con.

Mở danh sách Golang