BenchMark 事项
//对某些代码片段性能测评,对第三方库测评,选择最优的方案
//不关心benchMark的正确新 不需要做确认
//命令行 go test -bench=. (或者benchmark的名称)
//go test -bench = .-benchmen 内存大小和次数 性能分析 window下写-bench="."
BenchMark 实例
import (
"bytes"
"testing"
)
func BenchmarkConcatStringByAdd(b *testing.B) {
b.ResetTimer()
for i := 0; i < b.N; i++ {
}
b.StopTimer()
}
func TestConcatStringByAdd(t *testing.T) {
assert := assert.New(t)
elems := []string{"1","2","3","4","5"}
ret := ""
for _,elem := range elems{
ret += elem
}
assert.Equal("12345",ret)
}
func TestConcatStringByBytesBuffer(t *testing.T) {
assert := assert.New(t)
var buf bytes.Buffer
elems := []string{"1","2","3","4","5"}
for _,elem := range elems{
buf.WriteString(elem)
}
assert.Equal("12345",buf.String())
}