转载

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

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的更多细节请查阅 发布说明 。

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

感谢张龙对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入InfoQ读者交流群 Rust 1.2带来了更快的编译速度和并行代码生成 )。

正文到此结束
Loading...