Rust 1.2带来了更快的编译速度和并行代码生成

jopen 6年前

英文原文:Rust 1.2 Brings Faster Compilation, Parallel Code Generation, and More

Rust 核心团队宣布了 Rust 1.2 稳定版和 1.3 测试版的发布。Rust 1.2 主要集中在工具化、编译器性能的提高和引入并行代码生成。此外,引入了对 MSVC 工具链的支持。

以下是主要相关更新:

  • 更快的编译速度:Rust 1.2 的 benchmark compilation 使开发者的编译速度提升了大约 30%。在实际项目中,由于借鉴了 Rust 包存储库、Crates,其性能可以提升 1.16x–1.62x 倍,这一提升取决于目标项目。
  • 并行代码生成:主要对调试构建有用,当并行代码生成在 4 核机器上自举时,其提升了 33% 的编译速度。开启激活并行代码生成等同于使用-O1 标记,将会阻碍一些优化。
  • Cargo:Rust 的包管理器同样得到了性能上的提升,特别是以下两种情况:当实施一个构建时不再需要任何重编译;和当在大型项目中使用共享目标目录时,可以缓存通用依赖包。
  • MSVC 工具链的支持:使用 Rust 1.2 时,Rust 编译器能够链接使用本地 Windows 工具链,然而,mingw 在以前的版本中就实现了这一功能。此外,如今 MSVC 是第一层平台,也就意味着所有 rust-lang crates 的测试都会在上面完成。
  • 语言的变化:随着强制添加的动态调整大小类型,增加了对动态调整大小类型的全面支持。动态调整大小类型是指那些在编译时大小未知的类型,比如[T],表示T实例的顺序排列;比如 Trait,表示某种实现了特征 Trait 的类型T。动态调整大小类型在 Rust 1.0 时就已经存在了,通过使智能指针适用于现有类型,比如[T]和 Trait,使动态调整大小类型在 Rust 1.2 中完成实施。

至于 Rust 1.3 测试版本,它同样也带来了更好的性能,主要是标准库的提升。此外,尽管 Windows XP 不是首要考虑的对象,但 Rust1.3 将初步支持 Windows XP

Rust1.2 的更多细节请查阅发布说明

来自: InfoQ