← Back to team overview

nova team mailing list archive

Re: Twisted or Eventlet?


On Fri, Jul 30, 2010 at 10:42:48AM -0500, Eric Day wrote:
>> FWIW, I'm perfectly happy to work with either. :)
> Same here, and I do see Soren's point about having a fairly large
> protocol suite ready to go. On the other hand, Eventlet does provide
> module patching to make existing modules non-blocking (see
> http://eventlet.net/doc/basic_usage.html#patching-functions).

It's worth noting that in many cases, Twisted's protocol implementations
are far superior to the ones in Python's standard library (when they
even exist). The http client libraries not glaringly so, though.

So even though eventlet makes it possible to use imaplib, for instance,
and using eventlet itself may be enjoyable, that doesn't mean that using
imaplib with eventlet isn't going to make you grind your teeth :)

> Can anyone speak to how well this works? My main concern, as Michael
> pointed out, is the ease of use and ability to get others involved.

I can't really argue with that. My crystal ball is all hazy today :)

Having thought through this a few times now, my concern boils down to
this: I've used Twisted, and know that I like it, enjoy working with it
and I have a a good relationship with upstream. I've not really used
eventlet (outside of running the example echoserver when I first heard
about eventlet), and don't know whether I'll like it, love it, or hate
its guts, so basically I'm choosing between something I like and
something I don't know.

I understand some of you have worked with Twisted, and don't like it, so
an unknown might be preferable. I understand that.

Others have worked with both and prefer Eventlet. I'm not entirely sure
how much to read into this, to be honest. It's not that I don't value
people's opinion per se, it's just that people feel differently about
different things. People can tell me all day long that Emacs is awesome,
but I still prefer my vim. :) Without a thorough technical comparison I
can't really adopt people's opinion on things.

I think redoing the API server in eventlet is a good idea as sort of a
case study. Maybe I'll see how incredibly wrong I am :)

Of course, if everyone else has been dying to use eventlet, the point is
moot. It's hardly fair that everyone but me and Jay should be miserable

Soren Hansen
Systems Architect
The Rackspace Cloud

Follow ups