tornado 不是已经异步了吗, 为什么加上 gevent 后会更快?
提问来自于这篇 blog, 速度测试
gevent python tornado 异步
原文说:
从上面结果可能看出Tornado比Flask快很多. 而Gevent可以让Tornado更快一些, 但快不了很多.
我在别的文章里看到过这样的测试结论。既然快不了多少,不如不用。
题主的疑问中,异步不一定就比同步的更快吧,这需要看具体应用场景。
相比较而言,如果不是并发,并且不是针对有阻塞的操作。同步和异步谁更快还不好说。
python 的并发技术中,大致是多线程,多进程,协程。可以参考下 这篇文章
tornado 可以异步也可以同步,具体还得看如何使用。
猜测是因为gevent是c的模块,而tornado封包重组,HTTP协议解析都是python写的,比如解析HTTP头用的是正则。。。 tornado-over-gevent 中 tornado 运行于 wsgi 模式,HTTP协议解析等工作就由 gevent 完成了。
Tornado 的异步请求机制
tornado 3.2附带的chatdemo的代码中是如何实现异步的?最小利用cpu资源的,我...
tornado异步非阻塞框架
python连接redis或者memcached有必要异步?
beautifulsoup3.2.1中使用nextSibling方法时出现的问题
web服务器用到的底层技术为什么大多是线程阻塞和多路复用?