On Mon, Oct 6, 2014 at 7:25 AM, Antoine Pitrou <[email protected]> wrote:
> On Mon, 6 Oct 2014 07:11:50 -0400 > Donald Stufft <[email protected]> wrote: > > > > My problem with _overlapped is mostly that it required a compiler. I’m > idly considering what it’d take to give pip some concurrency and one of the > requirements there is that we can’t depend on anything that isn’t in the > standard library of 2.6, 2.7, 3.2+ or can’t be bundled inside of pip and is > pure Python. Most likely this will end up being threads but I really don’t > like threads much and It occurred to me it may be possible to bundle > Trollius. > You'd also need a trollius-compatible fork of aiohttp, right? > > There is a concurrent.futures backport. Using it for concurrency should > be quite simple: > https://pypi.python.org/pypi/futures/2.2.0 > > I second the recommendation for concurrent.futures; making HTTP requests in a ThreadPoolExecutor should be by far the simplest way to get parallel downloads for pip. FWIW, if you still want to explore asynchronous options, Tornado has fewer dependencies (just certifi and backports.ssl_match_hostname), no required C modules, and supports 2.6, 2.7, and 3.2+, although our windows support isn't as good as asyncio's (it should be roughly equivalent to asyncio's SelectorEventLoop, which might be good enough for your purposes, but our focus and testing is on posix only) -Ben > Regards > > Antoine. > > >
