pycon logo

PyCon 2011 Atlanta

March 9th–17th

Log in or Sign Up

An outsider's look at co-routines.

log in to bookmark this presentaton

Novice / Talk
March 13th 11:55 a.m. – 12:25 p.m.
Let's take an outsiders look at coroutines, the underlying concept used by greenlets. First we'll define what they are conceptually, and show some typical use cases. Then we'll take a look at a sampling of the implementations out there to see what they are actually doing to implement the concept. Finally, we'll show their pluses and minuses, and highlight some features of packages that use them.


Talk outline:

  1. Define what a coroutine is
    1. Coroutine state not known to operating system
    2. Difference between a thread or process
    3. What state is required for tracking
  2. Show how coroutines are used
    1. gevent example
    2. concurrence example
  3. Review two implementations
    1. Greenlets
    2. Python based co-routines using generators
  4. Advantages/Disadvantages
  5. Differentiating features of packages that use them
    1. Concurrence
    2. Gevent
    3. Eventlets