[Python-ideas] The async API of the future

Sturla Molden sturla at molden.no
Sat Nov 3 10:44:59 CET 2012


Den 3. nov. 2012 kl. 10:35 skrev Nick Coghlan <ncoghlan at gmail.com>:

> On Sat, Nov 3, 2012 at 9:10 AM, Sturla Molden <sturla at molden.no> wrote:
>> The root allows us to wait for 64 objects, the first branch allows us to wait for 4096, and the second 262144...
>> 
>> For example, if 4096 wait objects are enough, we can use a pool of 64 threads. Each thread calls WaitForMultipleObjects on up to 64 wait objects, and signals to the master when it wakes up.
> 
> Given that the purposes of using async IO is to improve scalability on
> a single machine by a factor of 100 or more beyond what is typically
> possible with threads or processes, hard capping the scaling
> improvement on Windows at 64x the thread limit by relying on
> WaitForMultipleObjects seems to be rather missing the point.
> 

The only thread limitation on Windows 64 is the amount of RAM. 

IOCPs are also thread-based (they are actually user-space thread pools).


Sturla


More information about the Python-ideas mailing list