On Tue, Nov 1, 2011 at 5:20 AM, Anil Madhavapeddy <span dir="ltr"><<a href="mailto:anil@recoil.org">anil@recoil.org</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">On Mon, Oct 31, 2011 at 01:45:35PM -0400, Nathan Linger wrote:<br>
> > It's pretty much the only game in town when it comes to cross-platform<br>
> > C-based asynchronous programming libraries however (as far as I know).<br>
><br>
> Isn't libevent[1] the same sort of thing?  I believe it is the C-based<br>
> asynchronous programming library underlying memcached[2], which in turn<br>
> is used by several high-profile web applications -- their website lists<br>
> Wikipedia, WordPress.com, Flickr, Twitter, Typepad, Youtube, LiveJournal,<br>
> Digg, Craigslist, and a handful of others I didn't recognize.<br>
<br>
</div>Yeah, but only for network I/O.  POSIX unfortunately demands threads for<br>
doing efficient file I/O, which libuv also seems to handle as more of a<br>
full-service library.</blockquote><div><br></div><div>True, although libuv also seems a lot less tried-and-tested.  Also, doesn't libevent do more than just network I/O now that it has support for IOCP?  From a quick look around, it looks like IOCP support hit in libevent version 2.  That said, I'm not terribly confident of any of this...</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im">
> I dusted off the ocaml bindings for libevent[3] at home last year and<br>
> found them pretty usable for the small experiments I did (implementing a<br>
> monadic interface for CML-style concurrent programming).  Their website[1]<br>
> claims "Libevent should compile on Linux, *BSD, Mac OS X, Solaris,<br>
> Windows, and more."<br>
<br>
</div>libev and libevent are pretty closely matched feature-wise. The author of<br>
libev has also done libeio ( <a href="http://software.schmorp.de/pkg/libeio.html" target="_blank">http://software.schmorp.de/pkg/libeio.html</a> )<br>
to handle POSIX I/O, but Windows support is lacking.<font class="Apple-style-span" color="#888888"><br></font></blockquote></div>