State of IOCP work
Marc Lehmann
schmorp at schmorp.de
Mon Nov 29 13:37:40 CET 2010
On Mon, Nov 29, 2010 at 11:02:36PM +1100, Mark Hammond <mhammond at skippinet.com.au> 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
--==---/ / _ \/ // /\ \/ / schmorp at schmorp.de
-=====/_/_//_/\_,_/ /_/\_\
More information about the libev
mailing list