"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
