✨ add benchmark
This commit is contained in:
parent
e6ee860fd9
commit
86d76f154f
49
src/c27_benchmark/concat_string_test.go
Normal file
49
src/c27_benchmark/concat_string_test.go
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
package benchmark
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bytes"
|
||||||
|
"github.com/go-playground/assert/v2"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestConcatStringByAdd(t *testing.T) {
|
||||||
|
elems := []string{"1", "2", "3", "4", "5"}
|
||||||
|
ret := ""
|
||||||
|
for _, elem := range elems {
|
||||||
|
ret += elem
|
||||||
|
}
|
||||||
|
assert.Equal(t, "12345", ret)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestConcatStringByBytesBuffer(t *testing.T) {
|
||||||
|
var buf bytes.Buffer
|
||||||
|
elems := []string{"1", "2", "3", "4", "5"}
|
||||||
|
for _, elem := range elems {
|
||||||
|
buf.WriteString(elem)
|
||||||
|
}
|
||||||
|
assert.Equal(t, "12345", buf.String())
|
||||||
|
}
|
||||||
|
|
||||||
|
func BenchmarkConcatStringByAdd(b *testing.B) {
|
||||||
|
b.ResetTimer()
|
||||||
|
elems := []string{"1", "2", "3", "4", "5"}
|
||||||
|
ret := ""
|
||||||
|
for i := 0; i < b.N; i++ {
|
||||||
|
for _, elem := range elems {
|
||||||
|
ret += elem
|
||||||
|
}
|
||||||
|
}
|
||||||
|
b.StopTimer()
|
||||||
|
}
|
||||||
|
|
||||||
|
func BenchmarkConcatStringByBytesBuffer(b *testing.B) {
|
||||||
|
b.ResetTimer()
|
||||||
|
elems := []string{"1", "2", "3", "4", "5"}
|
||||||
|
var buf bytes.Buffer
|
||||||
|
for i := 0; i < b.N; i++ {
|
||||||
|
for _, elem := range elems {
|
||||||
|
buf.WriteString(elem)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
b.StopTimer()
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user