Did someone measure in Python the speed and usefulness of pyev over standard binding through select
from Python stdlib?
What are benefits of using pyev over select
?
pyev is build by C extension, so it is not portable solution. I try to build it with PyPy and out of the box didn't succeed.
So I'm just wondering if it's worth to use it.
I know that gevent uses libev in it's 1.0 version (and before they used libevent). Do they really need it? I don't care about non event loop functionality (like dns from libevent).
Python's select module is just a wrapper around select(), poll() and epoll() syscalls, whereas libev and libevent implement an event loop. An event loop manages watchers and timers, queues pending events, calls your callbacks etc.
If you want to compare libev/libevent to Python counterparts, you'd need to compare them to twisted's reactor and tornado's IOLoop.
From libev documentation: