Yury Selivanov added the comment:

> 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.

Hm.  I glanced through the issues you linked, and it looks like it's a valid 
concern for a micro-benchmark.  But I don't see how a performance of a 
real-world application can be affected here.  IOW, the "self.time() + 
self._clock_resolution" line looks like an optimization for a particular 
micro-benchmark.  I'm sure we can construct another micro-benchmark that would 
benefit from "self.time() - self._clock_resolution".

I think we should value correctness more than micro-benchmarks.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue31539>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to