cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: [hiper] phase 1 - measuring the existing API done

From: Daniel Stenberg <daniel_at_haxx.se>
Date: Fri, 9 Dec 2005 13:14:54 +0100 (CET)

On Fri, 9 Dec 2005, Alexander Lazic wrote:

> Do you think that this is really possible?
>
> > 3. Summing up, the collected ~40 ms spent at 9000 connections could
> > possibly be lowered to something around 60 us!

Well, if I haven't confused any numbers and libevent can deliver what their
benchmarks claim, then yes. And of course I wrote "around 60"... :-)

> BTW: Have you found where curl_multi_perform() loose they time?

No, I haven't bothered and I have no plans to do so either at this point. I'll
instead focus on implementing the new *socket() family and measure that, and
only if I don't reach satisfyable numbers with that I'll start digging.

I should perhaps add that the curl_multi_fdset() invoke is also included in
the multi_perform() time, so there are two loops going over all descriptors.
One to set bits in the fd_set variables and one to check all bits of the
fd_set variables. So at 32000 us for 9000 connections, it loops 18000 laps
which makes less than 2 microseconds per lap. (Of course counting time/laps is
an oversimplification, but anyway...)

-- 
  Commercial curl and libcurl Technical Support: http://haxx.se/curl.html
Received on 2005-12-09