[Stackless] EuroPython 2010 Trip Report
andrewfr_ice at yahoo.com
Fri Jul 23 23:01:01 CEST 2010
I have just come back from EuroPython. One of the highlights of the conference was that Christian Tismer was given an achievement award. Congratulations Christian!!!!
I gave the talk "Prototyping Go's Select in stackless.py for Stackless Python." I thank everyone that attended the talk. I was also going to give a lighting talk called "Silly Stackless Python Trick" where I was going to demonstrate pickling but the laptop I used wouldn't cooperate. My netbook did not have a standard vga output.
Some thoughts. Most of the talks that involved concurrency, especially pyCSP were well attended. Denis Bilenko gave a great talk on gEvent. I spoke quite a bit with Denis. In his keynote, Guido von Rossom spoke about he attending nearly all the talks involving CSP and how sub-generators are on his wishlist.
>From talking to folks, Stackless Python is not well understood. For instance I had a talk with Ray Hettinger after his generator talk (Monocle). There were quite a few things I believe he did understand about Stackless. Also the presence of other concurrency frameworks that use greenlets confuses where Stackless sits in the grand scheme of things.
I participated in two sprints: PyPy and PyCSP. Since my Netbook's Python environment was worky, I couldn't get mercurial to work properly - so I could contribute little. However on the PyPy side, Antonio was good enough to take me by the hand and show me the initial baby steps for adding new syntax to Python. Yeah!
As for my own talk. Well select and stackless.py are somewhat esoteric topics. However select/alt appeared in two other talks!!! Still I felt I got deeper into how the basics of CSP that used channels actually worked than most other talks. Also the talk did cover a bit, both prototyping select with stackless.py and its C implementation. Without my friend Kevin's help, it would have taken me much longer to do the C part. Although the code passes simple tests, I have written tests where the C version core dumps and the PyPy version hangs. This suggests that there maybe a problem in the underlying algorithms.
That said, I talked to the PyPy team about my version of Stackless.py - where it would reside. Similarly I would like to reach a consensus about Stackless C select - how will it be handled? Where do the patches go? I am not an expert on versioning.
Immediate plans. I will continue to test and debug select and try to improve its API - I got a few ideas from PyCSP. I want the only difference between the C and Python version to be performance. I will concentrate on this when I get back to Canada. I will also write additional use cases. Overall I want to understand how to make the prototyping process smoother....
I am also starting to look at something called Join patterns. At the simplest, thread.join() is a simple join pattern. Join patterns can get much more complicated....
That is all for now.
More information about the Stackless