| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- package handler
- import (
- "testing"
- )
- // go test -bench=. -benchmem
- // 去除数据头
- func BenchmarkHeaderCopy(b *testing.B) {
- l := 1500
- for i := 0; i < b.N; i++ {
- b.StopTimer()
- pl := getPayload()
- // 初始化数据
- pl.Data = pl.Data[:l]
- b.StartTimer()
- dataLen := l - 8
- copy(pl.Data, pl.Data[8:8+dataLen])
- // 更新切片长度
- pl.Data = pl.Data[:dataLen]
- b.StopTimer()
- putPayload(pl)
- }
- }
- func BenchmarkHeaderAppend(b *testing.B) {
- l := 1500
- for i := 0; i < b.N; i++ {
- b.StopTimer()
- pl := getPayload()
- // 初始化数据
- pl.Data = pl.Data[:l]
- b.StartTimer()
- dataLen := l - 8
- pl.Data = append(pl.Data[:0], pl.Data[:8+dataLen]...)
- b.StopTimer()
- putPayload(pl)
- }
- }
|