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