mirror of
https://github.com/AdguardTeam/AdGuardDNS.git
synced 2025-02-20 11:23:36 +08:00
40 lines
727 B
Go
40 lines
727 B
Go
package ecscache
|
|
|
|
import (
|
|
"net/netip"
|
|
"testing"
|
|
|
|
"github.com/AdguardTeam/AdGuardDNS/internal/dnsserver/dnsservertest"
|
|
"github.com/bluele/gcache"
|
|
"github.com/miekg/dns"
|
|
)
|
|
|
|
var msgSink *dns.Msg
|
|
|
|
func BenchmarkMiddleware_Get(b *testing.B) {
|
|
mw := &Middleware{
|
|
cache: gcache.New(10).LRU().Build(),
|
|
ecsCache: gcache.New(10).LRU().Build(),
|
|
}
|
|
|
|
const (
|
|
host = "benchmark.example"
|
|
fqdn = host + "."
|
|
)
|
|
|
|
req := dnsservertest.NewReq(fqdn, dns.TypeA, dns.ClassINET)
|
|
cr := &cacheRequest{
|
|
host: host,
|
|
subnet: netip.MustParsePrefix("1.2.3.0/24"),
|
|
qType: dns.TypeA,
|
|
qClass: dns.ClassINET,
|
|
reqDO: true,
|
|
}
|
|
|
|
b.ReportAllocs()
|
|
b.ResetTimer()
|
|
for i := 0; i < b.N; i++ {
|
|
msgSink, _, _ = mw.get(req, cr)
|
|
}
|
|
}
|