On Mon, Nov 29, 2010 at 11:02:36PM +1100, Mark Hammond 
<[email protected]> wrote:
> Understood - but to be clear, I wasn't suggesting libev performs the
> IO.  While neither libev or IOCP actually perform IO, they do
> provide a key mechanism enabling async IO to work in practice -
> depending on your definition of "work", of course... :)

No, libev really doesn't enable async I/O nor is it useful to do so. when
you use libev, then doing (event based) synchronous I/O is *far* more
performant (and *far* easier). using async I/O with I/O events mostly
defeats the purpose, as it's only adding overhead.

And while iocps themselves don't perform I/O, you must do I/O for them to
make any sense, so it's academic to say that iocps don't do I/O - they
can't be used without doing (some form of async) I/O. On some handles you
can get something like an event by doing a 0-size I/O, but that doesn't
work for all handles nor all event types - in practise, you have to
actually do some (async) I/O with iocps.

-- 
                The choice of a       Deliantra, the free code+content MORPG
      -----==-     _GNU_              http://www.deliantra.net
      ----==-- _       generation
      ---==---(_)__  __ ____  __      Marc Lehmann
      --==---/ / _ \/ // /\ \/ /      [email protected]
      -=====/_/_//_/\_,_/ /_/\_\

_______________________________________________
libev mailing list
[email protected]
http://lists.schmorp.de/cgi-bin/mailman/listinfo/libev

Reply via email to