< 返回版块

Lambert 发表于 2023-12-09 15:46

Tags:rust,日报

Rust 1.70 带来的性能提升

Part1: reddit帖子

在更新了最低支持版本要求(MSRV)到 Rust 1.70,并且使用了 LLVM 16 的运行时。这次更新带来了 17% 的性能提升。可以通过以下命令打印 rustc 使用的 LLVM 版本:

rustc --verbose --version

他们选择将最低支持版本提升到 1.70,以获取对一些重要新 API 的访问权限。在性能测试中,这个 Rust 版本在 ARM64 架构上展现出了显著的速度提升(平均 +17%),这得益于 LLVM 16。他们暂时没有准备好的 CI 环境来测量能源消耗。

他们的最新 Rust 产品预装在一款价格仅为 12 美元的超小型无风扇 ARM64 开发板上,该板配备了 512MB RAM,在运行 OpenBSD(内存占用极低 + 驱动可用)时,销售情况比“仅软件”版本好,利润更大。512MB 内存相当多,在应用运行时仍有约 200MB 可用。

长期计划是拥有 Rust 用户空间,因为尽管 OpenBSD 的团队专注于安全,但仍然难以避免典型的 C 问题,比如断网导致路由守护进程崩溃。

阅读原文:after updating MSRV to Rust 1.70 / LLVM 16 runtime speed increased 17% https://www.reddit.com/r/rust/comments/182ruua/after_updating_msrv_to_rust_170_llvm_16_runtime/

Part2: dev.to 短文

以下内容借助Copilot机翻:

作为 Rust 开发者,跟进更新是优化项目的关键。Rust 1.70 更新以及与 LLVM 16 的集成带来了一系列内部改进。本文探讨了这些更新、MSRV 的概念以及它们对开发的影响。

什么是 MSRV?

最小支持的 Rust 版本(MSRV)是能够编译特定代码或 crate 的最早 Rust 编译器版本。遵循 MSRV 可确保跨版本的兼容性,对于扩大项目的可用性特别重要,尤其是对于库作者而言。

Rust 1.70 更新与 LLVM 16

Rust 1.70 引入了一些内部改进,包括与 LLVM 16 的兼容性。这个更新有望通过 LLVM 的模块化编译器和工具链技术优化代码编译速度和效率。

Rust 1.70 的主要变化

提升编译速度:此更新可能通过 LLVM 16 的进步优化编译速度。 改进的代码生成:LLVM 16 的整合可能导致更高效的机器码生成。 更广泛的平台支持:借助 LLVM 的目标支持,扩展了 Rust 对更多平台的兼容性。 评估性能改进

虽然一些社区讨论,如 Reddit 上的特定帖子,暗示了某些应用在 ARM64 架构上的性能改进,例如 17% 的提升,但这并不适用于所有 Rust 应用。官方的 Rust 1.70 发布说明主要讨论了内部改进,没有具体提到这样的性能数据。

基准测试示例

在 Rust 1.70 和早期版本中对此函数进行基准测试可以提供特定性能改进的见解。

开发者的影响

任何运行时速度的提升都可以减少延迟,并在计算密集型任务中提升用户体验。然而,这些收益的程度可能会因应用程序和使用情况而异。

对 Rust 生态系统的更广泛影响

像 Rust 1.70 中的内部改进和优化可能对未来的更新和 Rust 生态系统产生积极影响,可能影响对性能至关重要的应用程序。

结论

Rust 1.70 更新与 LLVM 16 的整合代表了 Rust 演进的一步,有望在某些情况下提供性能优势。鼓励开发者对他们的应用程序进行基准测试,并通过 Rust 发布说明和 LLVM 更新保持了解。跟进 Rust 的进展有利于您的项目,并有助于 Rust 社区的增长和稳定。

阅读原文 from Dev.to:Exploring the Rust 1.70 Update and LLVM 16: A Comprehensive Look https://dev.to/bernardkibathi/rust-revolution-how-the-170-update-llvm-16-turbocharged-performance-by-17-1bec

阅读更多:Rust日报】2023-11-10 我是如何将 Rust 的编译时间提高 75% 的 https://rustcc.cn/article?id=52d84a46-47bb-425e-a4f7-fdcd57172bda

spec:等待官方的新动作

spec 是rust-lang官方开放的一个新Repo,目前还没有实质内容,看介绍“The Rust specification”,貌似是一份说明教程(怀疑)。

Github: https://github.com/rust-lang/spec


From 日报小组 Lambert

社区学习交流平台订阅:

评论区

写评论
作者 Lambert 2023-12-09 15:49

貌似是我图床设置问题,pic暂无法显示。

1 共 1 条评论, 1 页