Interesting blog. The gist seems to be to use a thread pool for disk
operations instead of AOI. This translates fairly directly to
Tulip/Trollius, using the run_in_executor() operation. It's pretty clear to
me that Windows IOCP does support async operations on disk files, so it
would behoove us to design a standard API for async disk operations that
can be implemented either using IOCP or using a thread pool.

On Tue, Jan 13, 2015 at 8:07 AM, Victor Stinner <[email protected]>
wrote:

> 2015-01-13 16:24 GMT+01:00 Saúl Ibarra Corretgé <[email protected]>:
> > libuv (Node's platform layer) core dev here. That's right all filesystem
> > operations are run in a threadpool, much like asyncio runs getaddrinfo
> > in a ThreadPoolExecutor.
> >
> > Here is an interesting read:
> > http://blog.libtorrent.org/2012/10/asynchronous-disk-io/
>
> Thanks for the link. I used the ThirdParty wiki page to keep these info:
> https://code.google.com/p/tulip/wiki/ThirdParty#Filesystem
>
> I don't understand the status on Windows when the ProactorEventLoop is
> used: are filesystem operation blocking or not?
>
> Latest discussion on the Linux kernel: http://lwn.net/Articles/612483/
>
> Victor
>



-- 
--Guido van Rossum (python.org/~guido)

Reply via email to