| 397 | } |
| 398 | |
| 399 | func BenchmarkString_EncodeMsg(b *testing.B) { |
| 400 | sizes := []int{10, 100, 1000} |
| 401 | |
| 402 | for _, size := range sizes { |
| 403 | b.Run(fmt.Sprintf("%d", size), func(b *testing.B) { |
| 404 | set := make(String) |
| 405 | for i := 0; i < size; i++ { |
| 406 | set[fmt.Sprintf("val%d", i)] = struct{}{} |
| 407 | } |
| 408 | |
| 409 | var buf bytes.Buffer |
| 410 | writer := msgp.NewWriter(&buf) |
| 411 | |
| 412 | b.ReportAllocs() |
| 413 | b.ResetTimer() |
| 414 | for i := 0; i < b.N; i++ { |
| 415 | buf.Reset() |
| 416 | writer.Reset(&buf) |
| 417 | set.EncodeMsg(writer) |
| 418 | writer.Flush() |
| 419 | } |
| 420 | }) |
| 421 | } |
| 422 | } |
| 423 | |
| 424 | func BenchmarkString_DecodeMsg(b *testing.B) { |
| 425 | sizes := []int{10, 100, 1000} |