On 8/25/06, daniel.haxx / gmail.com <daniel.haxx / gmail.com> wrote: > You _could_ read up on the libcurl details in the libcurl docs, but > then what fun would that be? Let's continue making assumptions like > this... > > No, it is _not_ asynchronous inside a system call and it is _not_ using > the native getaddrinfo() for asynchronous name resolves. > Never mind, I figured it out. As I suspected, curl just wrote their own protocol handler for DNS lookups. They fit it into their event-driven architecture so name lookups can be happening simultaneously with other work. I didn't see any cacheing or anything similar but maybe I didn't look hard enough. As with other approaches, there's no magic speedup- you still have to write your program in such a way as to capture the concurrency.