做了个 python 下各种框架 Echo Server 对比

2015-11-18 23:06:38 +08:00
 fordoo

之前做了个基于 Tornado 的 RPC — ToRPC ,发了个帖在: http://v2ex.com/t/234388
今天做了个全方位的 benchmark 。

由于服务器环境原因,主要对 Tornado 、 Twisted 、 Asyncio 框架进行 TCP Echo 测试。另外 PyPy3 只支持 Python3.3 ,放弃了用 pypy 跑 Asyncio 。

测试结果: https://github.com/yoki123/torpc/blob/master/examples/BENCHMARK.rst

代码基于: https://github.com/methane/echoserver

在这个测试结果中,没有考虑使用原始的 eventloop ,诸如server_gevent_loop.py

最后跑了 Golang 和 Epoll ,感觉还是编译语言确实牛啊!哎~~~

3148 次点击
所在节点    Python
14 条回复
WildCat
2015-11-18 23:08:59 +08:00
Instagram 不就是 Python 吗,没必要太羡慕 Golang 吧
htfy96
2015-11-18 23:11:56 +08:00
cpp 还是毫无疑问的性能压制……只是写起来有点难度,简单的可以试试 crow 网络库
fordoo
2015-11-18 23:35:26 +08:00
@WildCat 主要还是羡慕 C++,但是写起来又麻烦
scys
2015-11-18 23:35:56 +08:00
正准备将部分服务迁移到 golang ,看来可以轻松压制 tornado + py3 -_- 用了最新 py3.5 特性,没法用 pypy 是个怨念。
fordoo
2015-11-18 23:38:34 +08:00
@htfy96 c++写网站的框架不多吧,没有对应合适的是库。
fordoo
2015-11-18 23:40:48 +08:00
@scys 我也准备开始迁移部分了,试着用 PyPy ,崩了好几次了。
scys
2015-11-18 23:42:16 +08:00
@fordoo 还以为你是打算上 pypy ,测试都围绕着 pypy 开展
我现在正用 gin https://github.com/gin-gonic/gin 一起来入坑?
fordoo
2015-11-18 23:47:45 +08:00
@scys 我只能入旁边的坑了,之前都是用 python 写 TCP 服务的,不是网站。
aec4d
2015-11-18 23:51:31 +08:00
大多数企业大多数人写的绝大多数应用都还没有到去考虑性能优化更别提达到所用框架的性能极限的时候就已经死了
aec4d
2015-11-18 23:52:45 +08:00
WildCat
2015-11-19 06:18:54 +08:00
shoaly
2015-11-19 08:46:20 +08:00
@aec4d 同样的句子, 换到安全这个领域也适用
stage37
2015-11-19 13:56:49 +08:00
@aec4d 我也是这个观点,用 Python 就不要考虑性能,对性能敏感就不要用 Python 。
sujin190
2015-11-19 22:51:17 +08:00
pypy+tornado 能到 10 万??

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/237179

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX