Performance Optimisation
Prefer strconv over fmt
// BAD
// BenchmarkFmtSprint-4 143 ns/op 2 allocs/op
for i := 0; i < b.N; i++ {
s := fmt.Sprint(rand.Int())
}// GOOD
// BenchmarkStrconv-4 64.2 ns/op 1 allocs/op
for i := 0; i < b.N; i++ {
s := strconv.Itoa(rand.Int())
}Avoid string-to-byte conversion
// BAD
// BenchmarkBad-4 50000000 22.2 ns/op
for i := 0; i < b.N; i++ {
w.Write([]byte("Hello world"))
}Prefer Specifying Container Capacity
Last updated