This https://apple.stackexchange.com/questions/175320/why-is-my-hostname-resolution-taking-so-long <https://apple.stackexchange.com/questions/175320/why-is-my-hostname-resolution-taking-so-long> may help you.
> On Feb 22, 2021, at 11:20 PM, Ian Lance Taylor <i...@golang.org> wrote: > > On Mon, Feb 22, 2021 at 9:11 PM Peng Yu <pengyu...@gmail.com > <mailto:pengyu...@gmail.com>> wrote: >> >> I tried 1.16. >> >> $ go version >> go version go1.16 darwin/amd64 >> >> The problem still exists. When I change mymachine.local to >> mymachine_local, the problem is gone. So somehow, this is related to >> host resolution? It might try to DNS lookup the hostname, when it can >> not find it via DNS then it look up in /etc/hosts? > > On Darwin I believe that by default we pass DNS lookups to the C > library. So I think that what you are seeing is the behavior of the C > library. Try setting the environment variable GODEBUG=netdns=go. > > Ian > > >> On 2/22/21, Ian Lance Taylor <i...@golang.org> wrote: >>> On Mon, Feb 22, 2021 at 12:22 PM Peng Yu <pengyu...@gmail.com> wrote: >>>> >>>> I run the following go program using net.Dial(). Depending on whether >>>> I specify a local hostname (defined in /etc/hosts) or an IP. I get >>>> very different runtimes. >>>> >>>> But `ping mymachine.local` resolves the hostname to an IP address >>>> instantaneously. So the two calls of the go program should have the >>>> same runtimes. >>>> >>>> Can anybody reproduce the same runtime problem? Does anybody know what >>>> is wrong with the implementation of net.Dial()? Thanks. >>>> >>>> $ ./main mymachine.local:22 >>>> 2021/02/22 14:14:25 before >>>> 2021/02/22 14:14:30 after >>>> $ ./main 192.168.1.104:22 >>>> 2021/02/22 14:14:30 before >>>> 2021/02/22 14:14:30 after >>>> $ cat main.go >>>> package main >>>> import ( >>>> "net" >>>> "log" >>>> "os" >>>> ) >>>> >>>> func main() { >>>> dialAddr := os.Args[1] >>>> log.Println("before") >>>> _, err := net.Dial("tcp", dialAddr) >>>> log.Println("after") >>>> if err != nil { >>>> log.Fatalln(err) >>>> } >>>> } >>> >>> Which version of Go are you using? What operating system are you running >>> on? >>> >>> It is possible that are running into https://golang.org/issue/35305, >>> which is fixed in 1.16. >>> >>> Ian >>> >> >> >> -- >> Regards, >> Peng > > -- > You received this message because you are subscribed to the Google Groups > "golang-nuts" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to golang-nuts+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/golang-nuts/CAOyqgcUSpK7sVTcz8-Yy83rGuatMrOn4qqFNA_205_bdUy6taQ%40mail.gmail.com > > <https://groups.google.com/d/msgid/golang-nuts/CAOyqgcUSpK7sVTcz8-Yy83rGuatMrOn4qqFNA_205_bdUy6taQ%40mail.gmail.com>. -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/78080E79-9B29-42F1-9627-9F8FC16FAA88%40ix.netcom.com.