cURL / Mailing Lists / curl-library / Single Mail

curl-library

[hiper] it works!

From: Daniel Stenberg <daniel_at_haxx.se>
Date: Fri, 4 Aug 2006 13:57:30 +0200 (CEST)

Hey friends

I just wanted to tell all potential test pilots that the hiper/hipev.c source
code is now working fine[1]: http://curl.haxx.se/lxr/source/hiper/hipev.c

It uses the curl_multi_socket() API with libevent for event handling, and
should in the extreme cases[2] be up to 1000 times faster than using
curl_multi_perform() with select(). Beside the speed difference, it also
allows applications to completely avoid using select() (if wanted, it *can*
still be used).

I'm interested in feeedback on the API, on the docs for it (i.e can you read
it and understand how to use it and how to write apps for it?) and possibly
more example source codes on how to write applicatons with it. It is somewhat
more complicated than the "normal" multi interface.

I'm of course also interested in seeing people actually trying to use it since
that's the only proper way to find bugs. Tell me if you find any!

[1] = I have run a bunch of (random) tests but I have not done any _extensive_
tests nor any long-running ones etc, so I expect us to find a good bunch when
this starts getting used for real and in case and situations I have not really
considered or tried while developing this.

[2] = Theoretical number of course, but if you open 10000 connections, have
9999 of them completely idle and stream data full speed on a single connection
you'll see that (excluding the actual recv/send times) the combination of
libevent + curl_multi_perform is roughly 1000 times faster than select +
curl_multi_perform(). Of course your mileage will vary (a lot).

(Reminder: the work on this API is sponsored by IIS:
http://www.iis.se/english/index.shtml?lang=en)

-- 
  Commercial curl and libcurl Technical Support: http://haxx.se/curl.html
Received on 2006-08-04