8 "github.com/anacrolix/dht/krpc"
9 "github.com/anacrolix/torrent/bencode"
10 "github.com/bradfitz/iter"
13 func marshalAndUnmarshal(tb testing.TB, orig krpc.Msg) (ret krpc.Msg) {
14 b, err := bencode.Marshal(orig)
18 err = bencode.Unmarshal(b, &ret)
26 func BenchmarkMarshalThenUnmarshalKrpcMsg(tb *testing.B) {
33 IP: krpc.NodeAddr{IP: net.ParseIP("1.2.3.4"), Port: 1337},
36 first := marshalAndUnmarshal(tb, orig)
37 if !reflect.DeepEqual(orig, first) {
42 for range iter.N(tb.N) {
43 marshalAndUnmarshal(tb, orig)