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

2024-03-26 23:39:20 +08:00
 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 ,中游的样子,够用,并且生态比绝大部分框架都强

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

6108 次点击
所在节点    程序员
30 条回复
simen513
2024-03-27 10:22:53 +08:00
@wangtian2020 回 18 楼:这么说的话,shell 最牛逼,所有的程序,只要需要在 OS 上跑的,都得通过它调用,都是给它打工。 @.V.@
Goooooos
2024-03-27 10:25:19 +08:00
Java 能升级到 jdk21 并使用 zgc 和虚拟线程的话,性能应该会有点提升
我的网关服务也升级后有稍微提升
oaix
2024-03-27 10:38:38 +08:00
这个数据有些诡异:

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

但从数据上来看平均响应小的框架,QPS 反而不高。
herozzm
2024-03-27 11:16:54 +08:00
go 的 fasthttp 算不上框架吧 只是一个路由
xiaocaiji111
2024-03-27 13:37:59 +08:00
这玩意儿,看看就好,实际开发,接口一复杂,大家都一样了。比如一个接口 500ms ,框架本身是 10ms 还是 1ms 影响不是很大了。
abersheeran
2024-03-27 13:46:26 +08:00
打榜真没必要,开发体验大过一切。
chendy
2024-03-27 13:58:37 +08:00
有一定参考意义,像我这种啥都不懂的 java 农可以顺着找到不少好玩的东西
但是实际项目开发,web 框架的性能,不说是最需要考虑的东西,但也可以说是最微不足道的东西了,一来十成甚至九成的性能瓶颈不在 web 层,二来在 web 层被打崩之前一般接入层就已经跑满了
wu00
2024-03-27 14:11:36 +08:00
eden1
2024-03-27 21:41:15 +08:00
PHP 不配吗
bianhui
2024-03-28 08:27:04 +08:00
每几个月,就有这样一篇比较

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

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

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

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

© 2021 V2EX