
Gevent 0.13.0 released - coroutine network library for Python - denik
http://www.gevent.org
======
dcreemer
I'm a happy customer. I use gevent for a small program that resolves every
short link in the Twitter firehose. The code makes ~100-200 HTTP requests per
second, waits on a few thousand outstanding connections, and streams out the
results.

------
kevingadd
I pity anyone who has to debug problems caused by monkeypatching the socket
module... I wish people would stop trying to solve problems with
monkeypatching in python. There are better solutions. Cool idea other than
that, though.

Does anyone know of any large-scale projects using this library? It would be
interesting to see how it performs in the real world - not needing to use OS
threads means that maybe you won't have as much trouble with the GIL, but on
the other hand, operations like socket.read() are supposed to release the GIL
while they block anyway.

~~~
cgbystrom
Well, you can either monkey patch the socket module OR do the callback hell +
completely alienate you from the Python ecosystem.

I'm not saying these are perfect solutions. But gevent with greenlet addresses
the problem at the right level. Making developers care about asynchronous I/O
only when they need it. Not the other way around as with many other
async/event based frameworks.

We're actually using it for our real-time web framework Planet
(<http://www.esn.me>) and our cloud-hosted WebSocket service, Beacon
(<http://beaconpush.com>). So far, so good!

------
ericflo
Also note a similar library named Eventlet: <http://eventlet.net/>

~~~
logic
The gevent author wrote up an article regarding what led him to writing it
after working on eventlet for a while: <http://blog.gevent.org/2010/02/27/why-
gevent/>

------
stratospark
Gevent seems to be the fastest Python async server after Tornado:
<http://nichol.as/asynchronous-servers-in-python>

I'd be interested in seeing node.js benchmarked against these.

~~~
swolchok
I find it highly suspicious that the linked writeup doesn't include pyevent
(barebones libevent wrapper).

