[Rust vs Go] GRPC性能对比第一轮,伤心了,意想不到的结果

作者: 万能的胖子分类: 野生技能协会 发布时间: 2021-10-24 14:59:33 浏览:31096 次

[Rust vs Go] GRPC性能对比第一轮,伤心了,意想不到的结果

爱学习的阿噜:
可能grpc的rust接口实现比较垃圾,毕竟grpc不是rust原生的[嗑瓜子]

xyHoneyy:
我来试着解释下.. go使用的是大页内存,各线程申请了内存之后不会马上释放,而是留着备用(我自己用c写的服务就是使用这种方式). 而 rust 即时申请即时释放,所以效率低了很多...cpu也高了很多.

【回复】那就意味着其实要自己设计一个合理的缓存机制?
【回复】以我对rust的理解,内存管理完全是委托给语言本身的,想要自己操作内存会很费劲.
丶熙沫:
不知道有没有注意到。 其实随着线程到增加。req/sec 并没有多大的差距。而且注意看随着内核数的增加。cpu的负载变化,英国是 client 的机的性能或者带宽不够, 负载没有打满

faker带你撸代码:
up主多出出这种测试视频,给你一键三连了

rea-lang:
调度tokio也是抄go的,没抄到精髓,不过较之前提升不少

50岁爱骑车的洋娃娃:
Grpc 的 g 就是Google的啦!别的语言要通过编译器来访问,不可能快过自家的吧

东方孤思子:
Rust是正面刚Go最擅长的领域,内存占用还小这么多。

frans168:
rust 第 2、3、4轮测试,内存是 3.0MB 3.1MB 4.0MB

爱像深蓝:
go和grpc就是一家,自己家的语言和自己家的技术配合性能最优有什么好说的。grpc这种技术并不是简单rpc,rpc都很多,但grpc是可以让不同的语言的模块协同工作。 举例:rust写一个三菱MC协议通信模块可以再在这个rust模块中引入一个grpc的 client,同时这个proto文件可生成一份rust的client和一份go 的server文件。同时go 语言写的网络模块进行分发时引入这个编译成go的server文件,这两个模块就可以通信了。 有人想说,restful也可以呀,但性能怎么能和grpc相比呢,而且grpc还有异步回调推送功能。 术业有专工,不同语言善长做的事情不一样的。rust善长做底层数据清洗转换抽取而go更长于网络这没对比性。

时间褶皱:
我觉得是rust还不够成熟,很多轮子比较少,无gc的语言效率上不应该这么差

熊猫呲竹子:
UP主用过nim嘛,我看它介绍也挺强的和rust比咋样

Rust语言 性能对比 Go语言 GRPC 打卡挑战

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!