The more unconnected network interface the machine has, the slower the DNS lookup may be.
This pull request intended to solve this issue, although it is not merged into code base yet.
Per Microsoft's document on GetAdaptersAddresses function, GetAdaptersAddresses(), called by get_DNS_AdaptersAddresses() in c-ares library,
is implemented only as a synchronous function. The GetAdaptersAddresses function requires a significant amount of network resources and time to complete since all of the low-level network interface tables must be traversed.Thus it makes sense to postpone calls to get_DNS_AdaptersAddresses() later. The only concern is that I'm not sure whether the functionality is still correct or not.