• 请不要在回答技术问题时复制粘贴 AI 生成的内容
bronyakaka
V2EX  ›  程序员

发现一个框架性能对比网站,我把 rust/go/ Java /csharp/js/py 对比了下

  •  1
     
  •   bronyakaka · Mar 26, 2024 · 7516 views
    This topic created in 957 days ago, the information mentioned may be changed or developed.

    直接上 link:https://web-frameworks-benchmark.netlify.app/result?l=python,go,rust,java,javascript,csharp

    这个网站好像定时会把流行框架最新版本拿来测试下性能,qps 之类的,上次测试刚好是昨天,时效性挺高。

    对比了下发现

    1 、js 的 uwebsockets 框架性能吊打其他框架( 20w qps ),不知道是咋做到的

    2 、紧接着是 java 的框架,主要是 activej ,这个好像没啥人用,应该属于那种专精性能的,qps 19.9w 。

    3 、然后就是 rust 的 actix 了,qps 19.5w

    4 、再往下很大都是 java 系列的,什么 vertx (这个听说过)、rapidoid 、jooby ,JIT 优化确实强

    5 、再往下就是 go 了,都说 go 性能一般,最好的是 fasthttp ,qps 在 17w 多,也不算差了,接着是 fiber 、gorouter ,还有字节的 hertz

    6 、rust 的 axum 性能比 gin 好,但要比 go 的 fasthttp 、fiber 差

    7 、接下来还是清一色的 go 框架,不得不吐槽 go web 框架是真的多,感觉都没啥区别。gin 、echo 在 12w qps

    8 、不出意料的垫底:python ,django qps 居然只有 1.6k ,这也太差劲了……

    9 、用的比较多的 spring 在 5w qps ,中游的样子,够用,并且生态比绝大部分框架都强

    当然真实项目的性能肯定没这么简单,这只是单纯测试框架处理请求的能力而已,别太较真

    30 replies  •  2024-03-28 08:27:04 +08:00
    Maboroshii
    Maboroshii
    Mar 27, 2024
    1
    确实不能太较真。。 拿 1.6k 的 django 来说,一个请求,框架本身占用的耗时才不到 1ms ,我在挂梯子访问 v 站的时候,所有请求耗时都至少 100ms 了。。
    bronyakaka
    bronyakaka
    OP
    Mar 27, 2024
    2
    @Maboroshii 我列的是 256 个并发连接的 qps ,所以 1.6k 的 Django 实际一个请求要 6ms 差不多,这是没有业务逻辑的,比其他框架确实差很多🤣
    renmu
    renmu
    Mar 27, 2024 via Android
    3
    uwebsockets 用 c 和 c++写的
    bronyakaka
    bronyakaka
    OP
    Mar 27, 2024
    4
    @renmu js 套壳吗?好像 js 经常这么干
    renmu
    renmu
    Mar 27, 2024 via Android
    5
    @bronyakaka 套了一层绑定,js 下面性能比较高的框架是套了一层 uwebsockets ,比较看好 hyper-express ,有性能的同时又有了 express 的部分生态
    IdJoel
    IdJoel
    Mar 27, 2024❤️1
    6
    加上 PHP ,发现上了 swoole php 性能还是比 go 强
    lysShub
    lysShub
    Mar 27, 2024
    7
    他 bench 的源码太简单了,和直接 accept tcp 应该没啥区别
    lysShub
    lysShub
    Mar 27, 2024
    8
    go 最快的是 fasthttp , 可能是因为把路由写死了。。。

    https://github.com/the-benchmarker/web-frameworks/blob/master/go/fasthttp/main.go
    dyv9
    dyv9
    Mar 27, 2024 via Android
    9
    打一份而已,需要这样操心吗?软件不光是性能问题,更是性价比问题。
    Trim21
    Trim21
    Mar 27, 2024 via Android
    10
    @lysShub fasthttp 本就没有理由功能
    fox0001
    fox0001
    Mar 27, 2024 via Android
    11
    有没有列出资源占用的对比?就是想看看付出的成本有多大
    6F321i77Df1W0Zka
    6F321i77Df1W0Zka
    Mar 27, 2024
    12
    应该把 php 也加进来
    Kylinsun
    Kylinsun
    Mar 27, 2024
    13
    @ing995683
    workerman 排第七(#^.^#)
    cbdyzj
    cbdyzj
    Mar 27, 2024
    14
    用的 Java 版本有点老
    cndenis
    cndenis
    Mar 27, 2024
    15
    Python 的框架需要 wsgi, 这家伙是直接用框架自带的 wsgiref 来测的吧
    nmap
    nmap
    Mar 27, 2024
    17
    js/java 能排 c/c++/rust 前面,这网站不用看了
    wangtian2020
    wangtian2020
    Mar 27, 2024❤️1
    18
    @nmap
    其他语言本来就是编译成 wasm 给 JavaScript 打工嘚,怎么就不用看了,不服气吗
    Sezxy
    Sezxy
    Mar 27, 2024
    19
    @lysShub 测框架性能当然越简单越好
    mightybruce
    mightybruce
    Mar 27, 2024
    20
    看这种网站和以上一些认知,我就不想说了, 你自己开心就好。
    simen513
    simen513
    Mar 27, 2024
    21
    @wangtian2020 回 18 楼:这么说的话,shell 最牛逼,所有的程序,只要需要在 OS 上跑的,都得通过它调用,都是给它打工。 @.V.@
    Sezxy
    Sezxy
    Mar 27, 2024
    22
    Java 能升级到 jdk21 并使用 zgc 和虚拟线程的话,性能应该会有点提升
    我的网关服务也升级后有稍微提升
    oaix
    oaix
    Mar 27, 2024
    23
    这个数据有些诡异:

    吞吐=并发/平均响应时间

    但从数据上来看平均响应小的框架,QPS 反而不高。
    herozzm
    herozzm
    Mar 27, 2024
    24
    go 的 fasthttp 算不上框架吧 只是一个路由
    xiaocaiji111
    xiaocaiji111
    Mar 27, 2024
    25
    这玩意儿,看看就好,实际开发,接口一复杂,大家都一样了。比如一个接口 500ms ,框架本身是 10ms 还是 1ms 影响不是很大了。
    abersheeran
    abersheeran
    Mar 27, 2024
    26
    打榜真没必要,开发体验大过一切。
    chendy
    chendy
    Mar 27, 2024
    27
    有一定参考意义,像我这种啥都不懂的 java 农可以顺着找到不少好玩的东西
    但是实际项目开发,web 框架的性能,不说是最需要考虑的东西,但也可以说是最微不足道的东西了,一来十成甚至九成的性能瓶颈不在 web 层,二来在 web 层被打崩之前一般接入层就已经跑满了
    wu00
    wu00
    Mar 27, 2024
    28
    eden1
    eden1
    Mar 27, 2024
    29
    PHP 不配吗
    bianhui
    bianhui
    Mar 28, 2024
    30
    每几个月,就有这样一篇比较
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1007 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 67ms · UTC 16:36 · PVG 00:36 · LAX 08:36 · JFK 11:36
    ♥ Do have faith in what you're doing.