some fixes to sonic and make it faster by reusing arrays.
BenchmarkParseMessage/relay/jsonstdlib-4 216 5651451 ns/op BenchmarkParseMessage/relay/easyjson-4 313 3703457 ns/op BenchmarkParseMessage/relay/simdjson-4 469 2606309 ns/op BenchmarkParseMessage/relay/sonic-4 966 1268594 ns/op BenchmarkParseMessage/client/jsonstdlib-4 216 5524239 ns/op BenchmarkParseMessage/client/easyjson-4 422 2756370 ns/op BenchmarkParseMessage/client/simdjson-4 519 2298477 ns/op BenchmarkParseMessage/client/sonic-4 644 1860583 ns/op
This commit is contained in:
@@ -42,9 +42,10 @@ func BenchmarkParseMessage(b *testing.B) {
|
||||
})
|
||||
|
||||
b.Run("sonic", func(b *testing.B) {
|
||||
smp := NewSonicMessageParser()
|
||||
for i := 0; i < b.N; i++ {
|
||||
for _, msg := range messages {
|
||||
_, _ = ParseMessageSonic(msg)
|
||||
_, _ = smp.ParseMessage(msg)
|
||||
}
|
||||
}
|
||||
})
|
||||
@@ -57,7 +58,7 @@ func generateTestMessages(typ string) [][]byte {
|
||||
|
||||
setup := map[string]map[int]func() []byte{
|
||||
"client": {
|
||||
500: generateEventMessage,
|
||||
600: generateEventMessage,
|
||||
5: generateEOSEMessage,
|
||||
9: generateNoticeMessage,
|
||||
14: generateCountMessage,
|
||||
@@ -65,6 +66,7 @@ func generateTestMessages(typ string) [][]byte {
|
||||
},
|
||||
"relay": {
|
||||
500: generateReqMessage,
|
||||
50: generateEventMessage,
|
||||
10: generateCountMessage,
|
||||
},
|
||||
}[typ]
|
||||
|
||||
Reference in New Issue
Block a user