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

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的性能不降反升,而默认的则在不断下降)

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。