Making Async play better with others
Dmitry Astapov
dastapov at gmail.com
Tue Nov 1 10:25:59 GMT 2011
libev seems to be faster: http://libev.schmorp.de/bench.html
On Oct 31, 5:45 pm, Nathan Linger <nlin... at janestreet.com> wrote:
> On 10/31/11 16:37, Anil Madhavapeddy wrote:
>
>
>
> > On 31 Oct 2011, at 15:06, Yaron Minsky wrote:
>
> > > On 31/10/11 14:29, Anil Madhavapeddy wrote:
> > >> You could combine most of these by basing Async on top of libuv,
> > >> which is a superset of libev (the event library that Lwt uses to
> > >> abstract network I/O).
>
> > >>https://github.com/joyent/libuv
>
> > >> Crucially, libuv has good support for the Windows AIO model, and is
> > >> also what node.js uses to drive its event loop (so has widespread
> > >> usage).
>
> > >> At first glance at Core, it looks like many of the Linux-specific
> > >> bits like high-res timers and thread scheduling are also covered by
> > >> it.
>
> > > How much do you know about the performance and quality of libuv? I'm
> > > always nervous about shimming yet another layer between us and the
> > > bare metal.
>
> > Nothing beyond flicking through the source code and occasionally being
> > cursed with using node.js (which works pretty well until you get to
> > the Javascript level :)
>
> > 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.
>
> 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."
>
> [1]http://libevent.org/
> [2]http://www.memcached.org/
> [3]http://mmzeeman.home.xs4all.nl/ocaml/
More information about the core
mailing list