"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

Reply via email to