> As far as I know, all of the implementations of POSIX AIO are relatively low
> quality.  They include a number of tricky, low-level constraints (eg, char* to
> write must be page aligned) as well as some sad functional limitations such as
> blocking instead of being asynchronous if too many AIOs are started
> concurrently (with this limit applying to AIOs *system
> wide* in some cases).
> 
> If there are any good implementations, or prospects of thes implementations
> getting good sometime in the near future, it might be worth exploring, but I
> don't think it's something we can rely on now.

I have been looking into "libuv" a little .. it not only provides wrappers 
around epoll/kqueue/IOCP for networking,
but also provides a unified API for asynchronous File I/O .. I _think_ on Posix 
it uses the usual background thread pool
approach to work around flaky AIO (and also to provide asynch _open_ and 
everyhting else from Posix File IO), but
it also on Windows uses Overlapped IO when possible (which is the right thing 
to do there, since asynch File IO works
since Windows NT 3.5 using that). It also does asynch DNS lookup etc. 

_______________________________________________
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python

Reply via email to