写点什么

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:513067
用户头像

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

关注

评论

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

西少爷肉夹馍的股权纠纷 | 视频号28天(22)

赵新龙

28天写作

技术赋能教育,浅谈教育机构转型的制胜关键

华为云开发者联盟

音视频 在线教育

创始人去世,股权怎么办?|视频号28天(21)

赵新龙

28天写作

我的算法学习之路

熊斌

学习方法 算法 28天写作

HTTPS实现原理

架构精进之路

https 七日更 28天写作

重温亮剑-感悟

superman

创业失败启示录|老老王上的人生第一课

阿萌

28天写作 创业失败启示录 青城

网站自动化任务脚本

Kylin

七日更

【JS】预编译

德育处主任

JavaScript 大前端 js 28天写作

机器学习·笔记之:Cost Function - Intuition II

Nydia

低代码:Microsoft Power Platform

lidaobing

低代码 28天写作 Power Platform

阿里巴巴管理三板斧

Ian哥

28天写作

15道类和对象面试题,快看看自己会几道

田维常

类集

Serverless Kubernetes:理想,现实与未来

阿里巴巴云原生

Serverless 容器 运维 云原生 k8s

扎根CNCF社区贡献五年是怎样的体验?听听华为云原生开源团队的负责人怎么说

华为云开发者联盟

容器 Volcano cncf kubeedge 代码开发

一文带你解读Volcano架构设计与原理

华为云开发者联盟

架构 Kubernetes 负载 Volcano 集群

折腾CUDA环境,搭建TF2开发环境

IT蜗壳-Tango

七日更

凝聚人心并不难,小诀窍让团队跟你一条心

一笑

管理 激励 28天写作

个人隐私后续

张老蔫

28天写作

企业级低代码平台的选型和建设思考

李小腾

宅米网技术架构演进分析

Andy

“大禹针”在北江大堤上线,浪潮助力广东水利新基建落地

新基建

云算力挖矿系统开发app,矿机租赁交易平台搭建

v16629866266

微服务转型系列1:农商行数字化转型的烦恼

BoCloud博云

微服务 银行数字化转型 API 服务治理

音视频传输协议众多, 5G时代不同业务应该如何选择?

华为云开发者联盟

5G 音视频 直播 流媒体

碎碎念之「程序员的时间都花在了哪?」

Justin

设计原则 代码规范 28天写作 技术债

大数据丨ClickHouse在京东能源管理平台的实践

京东科技开发者

数据库 大数据

666666666666666666666

Paul

大数据

大数据知识专栏 - MapReduce 的自定义分组求TopN

小马哥

大数据 hadoop mapreduce 七日更

LiteOS调测利器:backtrace函数原理知多少

华为云开发者联盟

架构 内存 函数 LiteOS backtrace

java中的类和object,其实没那么难~

田维常

类集

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