为什么多次调用gevent.idle()/ sleep(0)会使每次调用变得越来越慢?

时间:2017-07-18 20:00:36

标签: python performance sleep gevent

我观察到多次调用gevent.idle()会使每次连续调用变得越来越慢。使用gevent.sleep(0)可以观察到相同的行为。

有100个电话:

>>> timeit.timeit(setup='import gevent', stmt='gevent.idle()', 
number=100)
0.0005408697757047776

有100000个电话:

>>> timeit.timeit(setup='import gevent', stmt='gevent.idle()', 
number=100000)
0.5255624202554827

我认为gevent.sleep / gevent.idle基本上只会检查是否还有其他事情要做或立即返回。

为什么呼叫越来越慢?

0 个答案:

没有答案