On Jan 24, 2005, at 11:42 AM, Andrea Arcangeli wrote:
Only one hint for you, please make sure to run all fs calls with a thread pool, and never do a vfs call that doesn't support poll(2) within the main twisted thread. All I/O calls are synchronous and they block the main thread completely. Best would be to support kernel asynchronous I/O natively in the reactor, but that depends on linux at least, so having a posix threaded abstraction for aio would be ok even if lower performant than kernel aio (note that the kernel is going to use threads too for aio, the only advantage is that they're kernel threads instead of user threads, so with multiple apps and not only twisted running, they can save some tlb flush, plus there is some other advantage, but having threaded aio inside twisted without kernel support would be already pretty good).
I'm working on this, but as an aside from web2, which is an aside from work, so not very quickly. :) James