improve: remove redundant calls of sprintf by apocelipes · Pull Request #482 · boyter/scc
$ benchstat old.bench new.bench
goos: windows
goarch: amd64
pkg: testbuilder
cpu: Intel(R) Core(TM) i5-10200H CPU @ 2.40GHz
│ old.bench │ new.bench │
│ sec/op │ sec/op vs base │
Builder-8 1.808µ ± 2% 1.533µ ± 1% -15.19% (p=0.000 n=10)
│ old.bench │ new.bench │
│ B/op │ B/op vs base │
Builder-8 1.281Ki ± 0% 1.000Ki ± 0% -21.95% (p=0.000 n=10)
│ old.bench │ new.bench │
│ allocs/op │ allocs/op vs base │
Builder-8 15.000 ± 0% 6.000 ± 0% -60.00% (p=0.000 n=10)
// the old one func BenchmarkBuilder(b *testing.B) { for range b.N { var sb strings.Builder for i := range 10 { sb.WriteString(fmt.Sprintf("%d. writing an integer number: %d", i, i)) } } } // the new one func BenchmarkBuilder(b *testing.B) { for range b.N { sb := &strings.Builder{} for i := range 10 { fmt.Fprintf(sb, "%d. writing an integer number: %d", i, i) } } }