diff --git a/internal/decoders/chunk_test.go b/internal/decoders/chunk_test.go index ebad2fc..175c8a0 100644 --- a/internal/decoders/chunk_test.go +++ b/internal/decoders/chunk_test.go @@ -98,3 +98,14 @@ func TestBadChunkDecoding(t *testing.T) { }) } } + +func BenchmarkChunkDecoding(b *testing.B) { + data := []byte{ + 0x56, 0x67, 0x34, 0x80, 0x00, 0x00, 0x0c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x01, + 0x01, 0x01, 0x00, 0x0b, 0x00, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x4e, 0x61, 0x6d, 0x65, 0x02, 0x00, 0x11, + 0x80, 0x01, 0x00, 0x0d, 0x80, 0x00, 0x00, 0x09, 0x00, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x72, 0x20, 0x31, + } + for b.Loop() { + DecodeChunk(data) + } +} diff --git a/internal/encoders/chunk_test.go b/internal/encoders/chunk_test.go index fbc6b70..2dee87b 100644 --- a/internal/encoders/chunk_test.go +++ b/internal/encoders/chunk_test.go @@ -65,3 +65,21 @@ func TestChunkEncoding(t *testing.T) { }) } } + +func BenchmarkChunkEncoding(b *testing.B) { + chunk := chunks.Chunk{ + Header: chunks.ChunkHeader{ + Id: uint16(26453), + DataLen: uint16(40), + HasSubchunks: true, + }, + ChunkData: []byte{ + 0x00, 0x00, 0x0c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x01, + 0x01, 0x01, 0x00, 0x14, 0x80, 0x01, 0x00, 0x10, 0x80, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, + 0x80, 0x3f, 0x00, 0x00, 0x80, 0x3f, + }, + } + for b.Loop() { + EncodeChunk(chunk.Header.Id, chunk.ChunkData, chunk.Header.HasSubchunks) + } +}