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

178 天前
 bronyakaka

直接上 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 ,中游的样子,够用,并且生态比绝大部分框架都强

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

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

https://github.com/the-benchmarker/web-frameworks/blob/master/go/fasthttp/main.go
dyv9
178 天前
打一份而已,需要这样操心吗?软件不光是性能问题,更是性价比问题。
Trim21
178 天前
@lysShub fasthttp 本就没有理由功能
fox0001
178 天前
有没有列出资源占用的对比?就是想看看付出的成本有多大
6F321i77Df1W0Zka
178 天前
应该把 php 也加进来
Kylinsun
178 天前
@ing995683
workerman 排第七(#^.^#)
cbdyzj
178 天前
用的 Java 版本有点老
cndenis
178 天前
Python 的框架需要 wsgi, 这家伙是直接用框架自带的 wsgiref 来测的吧
lanlanye
178 天前
nmap
178 天前
js/java 能排 c/c++/rust 前面,这网站不用看了
wangtian2020
178 天前
@nmap
其他语言本来就是编译成 wasm 给 JavaScript 打工嘚,怎么就不用看了,不服气吗
Goooooos
178 天前
@lysShub 测框架性能当然越简单越好
mightybruce
178 天前
看这种网站和以上一些认知,我就不想说了, 你自己开心就好。

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

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

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

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

© 2021 V2EX