V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
fordoo
V2EX  ›  Python

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

  •  
  •   fordoo · 2015-11-18 23:06:38 +08:00 · 3127 次点击
    这是一个创建于 3094 天前的主题,其中的信息可能已经有所发展或是发生改变。

    之前做了个基于 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 ,感觉还是编译语言确实牛啊!哎~~~

    14 条回复    2015-11-19 22:51:17 +08:00
    WildCat
        1
    WildCat  
       2015-11-18 23:08:59 +08:00 via iPhone   ❤️ 1
    Instagram 不就是 Python 吗,没必要太羡慕 Golang 吧
    htfy96
        2
    htfy96  
       2015-11-18 23:11:56 +08:00
    cpp 还是毫无疑问的性能压制……只是写起来有点难度,简单的可以试试 crow 网络库
    fordoo
        3
    fordoo  
    OP
       2015-11-18 23:35:26 +08:00
    @WildCat 主要还是羡慕 C++,但是写起来又麻烦
    scys
        4
    scys  
       2015-11-18 23:35:56 +08:00
    正准备将部分服务迁移到 golang ,看来可以轻松压制 tornado + py3 -_- 用了最新 py3.5 特性,没法用 pypy 是个怨念。
    fordoo
        5
    fordoo  
    OP
       2015-11-18 23:38:34 +08:00
    @htfy96 c++写网站的框架不多吧,没有对应合适的是库。
    fordoo
        6
    fordoo  
    OP
       2015-11-18 23:40:48 +08:00
    @scys 我也准备开始迁移部分了,试着用 PyPy ,崩了好几次了。
    scys
        7
    scys  
       2015-11-18 23:42:16 +08:00
    @fordoo 还以为你是打算上 pypy ,测试都围绕着 pypy 开展
    我现在正用 gin https://github.com/gin-gonic/gin 一起来入坑?
    fordoo
        8
    fordoo  
    OP
       2015-11-18 23:47:45 +08:00
    @scys 我只能入旁边的坑了,之前都是用 python 写 TCP 服务的,不是网站。
    aec4d
        9
    aec4d  
       2015-11-18 23:51:31 +08:00   ❤️ 2
    大多数企业大多数人写的绝大多数应用都还没有到去考虑性能优化更别提达到所用框架的性能极限的时候就已经死了
    aec4d
        10
    aec4d  
       2015-11-18 23:52:45 +08:00
    WildCat
        11
    WildCat  
       2015-11-19 06:18:54 +08:00
    shoaly
        12
    shoaly  
       2015-11-19 08:46:20 +08:00
    @aec4d 同样的句子, 换到安全这个领域也适用
    stage37
        13
    stage37  
       2015-11-19 13:56:49 +08:00
    @aec4d 我也是这个观点,用 Python 就不要考虑性能,对性能敏感就不要用 Python 。
    sujin190
        14
    sujin190  
       2015-11-19 22:51:17 +08:00
    pypy+tornado 能到 10 万??
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1089 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 22:26 · PVG 06:26 · LAX 15:26 · JFK 18:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.