curl-library
Re: libuv example
Date: Sat, 13 Apr 2013 13:46:04 +0200
"Gisle Vanem" <gvanem_at_broadpark.no> wrote:
> "Clemens Gruber" <clemens.gruber_at_pqgruber.com> wrote:
>> I am sure many of you are aware that libev and libevent only support
>> select()/poll() on Windows, but not the nice and much faster IO
>> Completion Ports API.
> libevent as used in the Tor-project and others has used IOCP for
> some time now. Since ver 2.0? Ref:
> http://sourceforge.net/projects/levent/
> http://sourceforge.net/scm/?type=git&group_id=50884&source=navbar
> Would be nice to see how libuv compares to libevent.
> --gv
Hi,
sorry to reply that late. The libevent NEWS for 2.0 state:
"3.3. Windows: better support for everything
Bufferevents on Windows can use a new mechanism (off-by-default; see
below)
to send their data via Windows overlapped IO and get their notifications
via the IOCP API. This should be much faster than using event-based
notification.
(...)
Unfortunately, the main Windows backend is still select()-based: from
testing the IOCP backends on the mailing list, it seems that there isn't
actually a way to tell for certain whether a socket is writable with IOCP.
Libevent 2.1 may add a multithreaded WaitForMultipleEvents-based
backend for better performance with many inactive sockets and better
integration with Windows events."
But unfortunately in the 2.1 NEWS, I did not find anything related to
the backend. Maybe they delayed it.
Therefore I assume, libuv still has better support on Windows. Please
correct me if I am wrong.
I would really like to see a benchmark between those two.
If I have time, I'll try to set one up.
Best regards,
Clemens
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette: http://curl.haxx.se/mail/etiquette.html
Received on 2013-04-13