[pypy-dev] continulet stacks on the heap and other schemes for io/threading

Ronny Pfannschmidt Ronny.Pfannschmidt at gmx.de
Tue Feb 26 15:29:59 CET 2013


Hi,

over the last few weeks few ideas
have been brooding in the back of my head,
in particular after seeing how rust creates its stacks and handles io.

The basis is allocating all stacks as non-movable structures on the heap.

This would remove the need to copy the c/rpython level stack for 
continulets and enable to move them between native threads
which is essentially enabling a M:N threading scheme.

On top of that i would like to introduce transformation similar to the 
sandbox that would defer all IO to a io loop in a separate thread.
Additionally it should change the threading abstractions to use said 
continuation instead of os level threads

the result in case of a success would be a python that defers all 
blocking operations to a io loop in a separate thread

im currently investigating libuv, since it does well for async io and 
also has utilities to defer blocking calls to c code to a pool of native 
threads

-- Ronny


More information about the pypy-dev mailing list