1
ericls 2018-04-22 06:45:53 +08:00 via iPhone
没有可比性
|
2
Tarkky 2018-04-22 07:54:55 +08:00 via Android
什么是异步请求,应用场景是什么?
|
3
introom 2018-04-22 07:59:43 +08:00 via Android
tree twisted
|
4
introom 2018-04-22 07:59:50 +08:00 via Android
treq
|
5
clino 2018-04-22 08:02:19 +08:00 via Android
为啥不考虑 gevent 了?
|
6
ioven 2018-04-22 08:32:34 +08:00
gevent +1
|
7
0xABCD 2018-04-22 08:57:51 +08:00 via Android
不是说 uvloop 性能最好吗?
|
9
PythonAnswer 2018-04-22 09:40:43 +08:00 via iPhone
两种都用啊 区别不大
|
10
owenliang 2018-04-22 11:29:52 +08:00 via Android
肯定是 twisted 事件循环,回归本质才能把控自如。
|
11
est 2018-04-22 14:11:23 +08:00 via Android
gevent
tornado asynci 都是坑 |
12
wzwwzw 2018-04-22 17:51:40 +08:00 1
aiohttp + uvloop
|
14
dbow 2018-04-22 19:52:11 +08:00
自写事件循环跟 http 库的路过。
|
15
imkerberos 2018-04-22 21:22:56 +08:00
twisted/futures/Rx 都行.
|
16
guyskk0x0 2018-04-22 23:14:55 +08:00 via Android
python 异步感觉搞不起来,都转 golang 去了
|
17
neoblackcap 2018-04-23 01:34:56 +08:00
uvloop 或者 tornado 都好,在 linux 上面还是调用 epoll 的,IO 复用的东西就不要想这么多,他们在事件循环方面没有数量级的差别。你考虑一下你的 http parser 或者 json serializer 更好了,这些 CPU 密集型的事情更容易影响性能。
不过既然你问这个,大概这些影响对于你来说都是没有的。你熟悉哪个就用哪个就好了。 uvloop 不就是用 libuv 实现了 asyncio 那套 API 嘛,libuv 提供的一些强悍的东西 uvloop 又提供不了。都站在 Python 那么高的抽象层了,那么就多想想两个框架哪个更适合自己的业务更好了。 就目前看来,tornado 在网络编程方面对长连接应该好。如果需要基于 UDP/TCP 的业务,那么上 Tornado,基础更好,更成熟。 至于基于 http 的,随便选,都一样。 |
18
linhanqiu OP @neoblackcap 好的
|
19
ltoddy 2018-04-24 08:51:57 +08:00
当然是 uvloop 了,
来源于这篇文章: https://magic.io/blog/uvloop-blazing-fast-python-networking/ |