From 0f783cfaf64ce2799063a6bb7fb4ce7fd0b38265 Mon Sep 17 00:00:00 2001 From: bjdgyc Date: Sun, 1 Aug 2021 20:58:57 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B5=8B=E8=AF=95=E6=96=87?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/handler/pool_test.go | 44 +++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 server/handler/pool_test.go diff --git a/server/handler/pool_test.go b/server/handler/pool_test.go new file mode 100644 index 0000000..7353c6b --- /dev/null +++ b/server/handler/pool_test.go @@ -0,0 +1,44 @@ +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) + } +}