Making Async play better with others

Anil Madhavapeddy anil at recoil.org
Tue Nov 1 09:20:46 GMT 2011


On Mon, Oct 31, 2011 at 01:45:35PM -0400, Nathan Linger wrote:
> > It's pretty much the only game in town when it comes to cross-platform
> > C-based asynchronous programming libraries however (as far as I know).
> 
> Isn't libevent[1] the same sort of thing?  I believe it is the C-based
> asynchronous programming library underlying memcached[2], which in turn
> is used by several high-profile web applications -- their website lists
> Wikipedia, WordPress.com, Flickr, Twitter, Typepad, Youtube, LiveJournal,
> Digg, Craigslist, and a handful of others I didn't recognize.

Yeah, but only for network I/O.  POSIX unfortunately demands threads for
doing efficient file I/O, which libuv also seems to handle as more of a
full-service library.

> I dusted off the ocaml bindings for libevent[3] at home last year and
> found them pretty usable for the small experiments I did (implementing a
> monadic interface for CML-style concurrent programming).  Their website[1]
> claims "Libevent should compile on Linux, *BSD, Mac OS X, Solaris,
> Windows, and more."

libev and libevent are pretty closely matched feature-wise. The author of
libev has also done libeio ( http://software.schmorp.de/pkg/libeio.html )
to handle POSIX I/O, but Windows support is lacking.

-- 
Anil Madhavapeddy                                 http://anil.recoil.org



More information about the core mailing list