Jun
4
Why isn't asyncio too slow?
When asyncio was first proposed, many people (not so much on python-ideas, where Guido first suggested it, but on external blogs) had the same reaction: Doing the core reactor loop in Python is going to be way too slow. Something based on libev, like gevent, is inherently going to be much faster.
Then, when Python 3.4 came out, people started benchmarking it. For example, this benchmark shows that handling 100000 redis connections, 50 at a time, sending 3-byte messages, takes 3.12 seconds in asyncio vs. 4.55 in gevent.
And yet, I still see people refusing to believe those benchmarks, or their own benchmarks that they run to prove them wrong.
Then, when Python 3.4 came out, people started benchmarking it. For example, this benchmark shows that handling 100000 redis connections, 50 at a time, sending 3-byte messages, takes 3.12 seconds in asyncio vs. 4.55 in gevent.
And yet, I still see people refusing to believe those benchmarks, or their own benchmarks that they run to prove them wrong.