From 394c9de02bdab8597e5435142f5fb72e780ebe3c Mon Sep 17 00:00:00 2001 From: Brad Fitzpatrick Date: Sat, 18 Dec 2021 19:03:38 -0800 Subject: [PATCH] net/dns/resolver: add nameFromQuery benchmark To convince me it's not as alloc-y as it looks. Change-Id: I503a0cc267268a23d2973dfde9833c420be4e868 Signed-off-by: Brad Fitzpatrick --- net/dns/resolver/forwarder_test.go | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/net/dns/resolver/forwarder_test.go b/net/dns/resolver/forwarder_test.go index c632f1d47..6008f44dc 100644 --- a/net/dns/resolver/forwarder_test.go +++ b/net/dns/resolver/forwarder_test.go @@ -168,3 +168,25 @@ func TestMaxDoHInFlight(t *testing.T) { }) } } + +func BenchmarkNameFromQuery(b *testing.B) { + builder := dns.NewBuilder(nil, dns.Header{}) + builder.StartQuestions() + builder.Question(dns.Question{ + Name: dns.MustNewName("foo.example."), + Type: dns.TypeA, + Class: dns.ClassINET, + }) + msg, err := builder.Finish() + if err != nil { + b.Fatal(err) + } + b.ResetTimer() + b.ReportAllocs() + for i := 0; i < b.N; i++ { + _, err := nameFromQuery(msg) + if err != nil { + b.Fatal(err) + } + } +}