Hi Folks:

I am doing my second rev of my EuroPython Talk. I will take Richard's advice 
and make select() a scheduler method rather than a tasklet method. Since I 
believe this will be the only Stackless talk and I have time, I just want to 
get my facts right. I have some questions I want to throw out:

1) Why no select in Stackless (Opinion)

My feels are in reality - most stackless applications are I/O driven.
There is a reactor under the hood acting like a select(), therefore
no pressing need. 

I have to confirm this, but I think the motivation for select() in 
Newsqueak came out what to simply monitoring multiple devices in a Windowing 
system.


1) Relationship between scheduler and OS threads.

In Stackless Python, from reading past posts I believe you can have 
OS threads as well and the tasklets in different threads still can
communicate via channels (in the code there is a tstate and interthread
variable). In short, the scheduler is a singleton. There is a 1 to N 
relationship between schedulers and OS threads although the
reality is typically one uses only one OS thread? More threads could
be used - but it difficult to take advantage of them.

Again, I think this issue was brought up in the mailing list: the GIL 
and performance issues notwithstanding, what is stopping a future
Stackless Python implementation from moving a tasklet making a potentially
blocking call to a new OS thread?

2) Fairness

I sort of allude to fairness in "Adventures." However Krisjan goes into great 
lengths about fairness in the 2009 talk "Stackless Python in EVE #2" there is 
much discussion about fairness. This is opposed to a certain amount of 
non-determinism in Newsqueak and Go. Could this be a distinguishing 
philosophical difference in the languages?

Cheers,
Andrew
















      

_______________________________________________
Stackless mailing list
[email protected]
http://www.stackless.com/mailman/listinfo/stackless

Reply via email to