8 "github.com/anacrolix/dht/v2/krpc"
9 "github.com/bradfitz/iter"
11 "github.com/anacrolix/torrent/bencode"
14 func marshalAndUnmarshal(tb testing.TB, orig krpc.Msg) (ret krpc.Msg) {
15 b, err := bencode.Marshal(orig)
19 err = bencode.Unmarshal(b, &ret)
27 func BenchmarkMarshalThenUnmarshalKrpcMsg(tb *testing.B) {
32 Token: func() *string { t := "re-up"; return &t }(),
34 IP: krpc.NodeAddr{IP: net.ParseIP("1.2.3.4"), Port: 1337},
37 first := marshalAndUnmarshal(tb, orig)
38 if !reflect.DeepEqual(orig, first) {
43 for range iter.N(tb.N) {
44 marshalAndUnmarshal(tb, orig)