• Matthew Dempsky's avatar
    net: ensure dnsConfig search list is rooted · 5fe1b35e
    Matthew Dempsky authored
    Avoids some extra work and string concatenation at query time.
    
    benchmark                                      old allocs     new allocs     delta
    BenchmarkGoLookupIP-32                         154            150            -2.60%
    BenchmarkGoLookupIPNoSuchHost-32               446            442            -0.90%
    BenchmarkGoLookupIPWithBrokenNameServer-32     564            568            +0.71%
    
    benchmark                                      old bytes     new bytes     delta
    BenchmarkGoLookupIP-32                         10824         10704         -1.11%
    BenchmarkGoLookupIPNoSuchHost-32               43140         42992         -0.34%
    BenchmarkGoLookupIPWithBrokenNameServer-32     46616         46680         +0.14%
    
    BenchmarkGoLookupIPWithBrokenNameServer's regression appears to be
    because it's actually only performing 1 LookupIP call, so the extra
    work done parsing the DNS config file doesn't amortize as well as for
    BenchmarkGoLookupIP or BenchmarkGoLOokupIPNoSuchHost, which perform
    2000+ LookupIP calls per run.
    
    Update #15473.
    
    Change-Id: I98c8072f2f39e2f2ccd6c55e9e9bd309f5ad68f8
    Reviewed-on: https://go-review.googlesource.com/22571Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
    5fe1b35e
dnsconfig_unix.go 3.98 KB