[issue31539] asyncio.sleep may sleep less time then it should

STINNER Victor report at bugs.python.org
Thu Sep 21 17:43:03 EDT 2017


STINNER Victor added the comment:

Issues:
- bpo-20320
- bpo-20452
- bpo-20505
- bpo-20311

The performance issue was that the asyncio core loop was running in a loop
but did nothing because of time rounding. When the next event was in a few
nanoseconds, the e event burnt the CPU during <clock resolution> seconds.
It can be 15 ms on Windows or 1 ms when using poll() for example. It's not
just clock resolution, also the resolution of the selector.

Hopefully, select and selectors now round towards +inf (rather than
rounding down, towards zero or -inf) and so the selector resolution is no
more an issue if I recall correctly.

----------

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue31539>
_______________________________________


More information about the Python-bugs-list mailing list