2025 AI基础设施风向标,不看必后悔!#AI基础设施峰会 了解详情
写点什么

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

  • 2015-08-17
  • 本文字数:859 字

    阅读完需:约 3 分钟

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 读者交流群)。

2015-08-17 01:513055
用户头像

发布了 92 篇内容, 共 27.3 次阅读, 收获喜欢 4 次。

关注

评论

发布
暂无评论
发现更多内容

JAVA小抄-001-Retrofit初级使用

NoNoGirl

retrofit okhttp

[MySQL-InnoDB] Buffer pool 并发控制

ba0tiao

MySQL 数据库 innodb

深入理解Java中的Lambda表达式和函数式编程的关系

jerry

Lambda java8 函数编程

Ubuntu 20.04 装机手册

小柒

Linux #Ubuntu #geek

创新真的可遇不可求么?

Yanel 说敏捷产品

产品经理 产品设计 产品开发 产品推荐

jenkins集成maven获取远程项目

kcnf

我为什么不买Mac

Winann

效率 效率工具 Mac apple

在 TypeScript 处理空值异常

寇云

typescript 大前端

不安全的“安全密码”

沈传宁

信息安全 口令安全

iTerm2使用小技巧-密码管理器

小菜与老鸟

iTerm

性能优化第一课:性能指标

kimmking

性能优化

最好的汇报是不需要汇报

伯薇

团队管理 领导力 沟通 汇报 可视化

一个英语渣的自救手册

寇云

学习 程序员 效率工具 工作效率

Panzoid:一款超好用的片头制作工具

千锤百炼锅

学习 产品 效率工具 工具 产品推荐

谨防常见的一些数据误区

Yanel 说敏捷产品

产品 产品经理 产品设计 产品开发 产品推荐

人生需要做减法:少即是多

我心依然

程序员 人生 减法 少即是多 less is more

吾谈教育

ItsFitz

《通往财富自由之路》——day1

轩呀

得到

一杯茶的时间,上手 Docker

图雀社区

node.js react.js Docker

Redis学习笔记(散列类型)

编程随想曲

redis

回"疫"录(9):守住我们自己的净土

小天同学

疫情 回忆录 现实纪录 纪实

写文章的目的是什么?

小天同学

思考 写作 感悟 表达

DIY 可用性测试

Yanel 说敏捷产品

产品 产品经理 产品设计 测试 产品推荐

测试驱动开发英制单位转换

escray

学习 CSD 认证实战营

系统的安全性设计

Janenesome

读书笔记 程序员 架构 安全

权限系统设计的一种解法

kos

产品 总结 产品设计

牛排等级之美国篇

地藏@易果18916037281

关于 DeepL 机器翻译能力

梁帅

产品 互联网 机器翻译 谷歌Google DeepL

Java并发编程基础--Synchronized

Java收录阁

线程

道德和正确的认知

沈传宁

信息安全 计算机道德

去中心化网络,不止区块链(一)

石君

区块链 去中心 去中心化网络 DHT

Rust 1.2带来了更快的编译速度和并行代码生成_语言 & 开发_Sergio De Simone_InfoQ精选文章