eventlet高并发的网络编程库
eventlet是一款使用Python编写的为高并发的网络编程而设计的库。由第二人生(secondlife)所开源发布。在开源云计算技术OpenStack里起到了比较重要的作用。
它通过greenlet提供的协程功能,让开发者可以不用将以往的多线程等并发程序的开发方式转变成异步状态机模型,就能直接使用select/epoll/kqueue等操作系统提供的支持高并发IO接口,并且能尽可能地发挥它们在并发上的优势。
与它同类的另一款产品是Gevent,它们有着很类似的设计。
在CPython下,由于Gevent使用了Cython绑定了libev或者libevent等C库,导致Gevent比eventlet有着更优秀的性能。
但是也因为Cython写的部分组件,导致Gevent无法借助PyPy来给它加速,而eventlet则没有这个限制。在PyPy的加速下,eventlet的性能可以有成倍的提升。
评论