+
 新版

rust vs GO:性能

非凸科技 发布于 2023/08/24 15:42
阅读 1K+
收藏 0

8 月 7 日,Rust 基金会发布了 2022 年度 Rust 调查报告结果,报告显示 Rust 采用率不断提高,超过 90% 的调查受访者表示自己是 Rust 用户;29.7% 的受访者表示,他们在工作中的大部分编码工作都使用 Rust,比上一年显着增加了 51.8%。

毋庸置疑,Rust 以其卓越的内存安全性和并发性能正日益成为开发者关注的焦点。然而,同样令人难以忽视的是 Go,这门曾被评选为年度编程语言的相对比较“老牌”的选手。那么,到底选 Rust 还是 Go?

Go 和 Rust 生成的程序运行速度都很快,因为它们会被编译成本机机器码,无需通过解释器或虚拟机这个步骤。但 Rust 的性能还要更胜一筹,甚至能够与被称为业界性能标杆的 C 和 C++ 相媲美。不同的是,Rust 还提供内存安全与并发安全机制,同时几乎不影响执行速度。Rust 还允许开发者构建复杂抽象,又无需在运行时承受性能损失。

Rust 运行时性能还具有良好的一致性和可预测性,因为它没有使用垃圾收集。Go 的垃圾收集器非常高效,而且做了优化以尽可能缩短暂停时长。

Rust 的目标是让程序员完全控制底层硬件,所以 Rust 程序都能深度优化以接近机器的最大理论性能。如此一来,Rust 就在执行速度胜过其他一切的特定应用场景下成为最佳选项,此类用例包括游戏编程、操作系统内核、网络浏览器组件和实时控制系统等。

来源:程序员的那些事
 

加载中
0
kakai
kakai

虽说是布道引流,但个人认为还是rust性能更高,至少没有垃圾回收器。

0
谐云harmonycloud
谐云harmonycloud

一般来说,Rust在某些情况下可以提供更高的性能,这主要得益于其强大的内存安全保证和零成本抽象的特性。Rust通过所有权系统和借用检查器来确保内存安全,并且可以在编译时进行各种静态分析和优化。这使得Rust能够生成高效且安全的机器码,尤其适合对性能要求较高的应用场景。

而Go则注重于简单性和开发效率,它采用了垃圾回收机制和协程(goroutine)来提供方便的并发编程。Go的垃圾回收机制可以自动管理内存,减轻了开发人员的负担,同时也可能对性能产生一定的影响。但Go的协程机制可以高效地处理大规模的并发任务,这使得Go在网络编程和分布式系统等领域具有很好的性能表现。

需要注意的是,性能对比结果可能因具体的应用场景和测试条件而有所不同。在实际项目中,开发者应根据具体需求和实际情况选择适合的编程语言,并针对性能瓶颈进行优化。同时,编写高质量的代码和合理选择算法也是提升性能的关键因素。

OSCHINA
登录后可查看更多优质内容
返回顶部
顶部