PythonTip >> 博文 >> Gevent

初试 Gevent:随着并发线程升高,gevent的性能不降反升

zihua 2013-09-26 01:09:27 点击: 823 | 收藏


Gevent是一个基于greenlet的Python的并发框架,以微线程greenlet为核心,使用了epoll事件监听机制以及诸多其他优化而变得高效。

于greenlet、eventlet相比,性能略低,但是它封装的API非常完善,最赞的是提供了一个monkey类,可以将现有基于Python线程直接转化为greenlet,相当于proxy了一下(打了patch)。

今天有空就迫不及待的试一下效果。

# 中间略去代码和测试数据,请前往原文查看

monkey的优点就是:省内存,我是和线程的相比。

我仔细的分析了一下,XML-RPC使用CPU的比例还是很大的,相比较于直接http的计算,xmlrpc还是属于cpu密集型。

在这种CPU占用很高,需要反复争夺微greenlet的情况下,gevent并不具有优势。

或者从另一种角度说,测试机不够强大,喂不饱gevent(可以看到,随着并发线程升高,gevent的性能不降反升,而默认的则在不断下降)

原文链接:http://www.simple-is-better.com/news/373

作者:zihua | 分类: Gevent | 标签: gevent | 阅读: 823 | 发布于: 2013-09-26 01时 |