[Twisted-Python] Logging observers and threads
tobias.oberstein at tavendo.de
Thu Jul 12 11:26:11 EDT 2012
> 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.
More information about the Twisted-Python