AICon 上海站|90%日程已就绪,解锁Al未来! 了解详情
写点什么

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

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

关注

评论

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

不要在nodejs中阻塞event loop

程序那些事

node.js Event 事件循环 程序那些事 nodejs event

话题讨论|过年回家你带电脑吗?

熊斌

话题讨论 28天写作

第五周作业

oooh-la

日记 2021年2月2日(周二)

Changing Lin

个人感悟 2月春节不断更

挖矿系统APP源码搭建

luluhulian

第三章:产品解决方案作业

让时间说真话

产品经理

第十周 模块分解作业

简简单单

挖矿区块链_什么是挖矿 带你详细了解挖矿基础知识

v16629866266

就算知道了答案,真的会改变吗?「幻想短篇 25/28」

道伟

28天写作

ModelArts AI Gallery与HiLens Kit联合开发丨行人社交距离风险提示Demo

华为云开发者联盟

华为云 modelarts hilens 行人 社交距离

OpenAI将k8s扩展至7500个节点以支持机器学习;Graph Diffusion Network提升交通流量预测精度

京东科技开发者

区块链 开源

Elasticsearch 写一致性原理

escray

七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试 2月春节不断更

前端面试必备ES6全方位总结

我是哪吒

程序员 面试 大前端 ES6 2月春节不断更

华为云FusionInsight助力宇宙行打造金融数据湖新标杆

华为云开发者联盟

数据湖 云原生 存储 FusionInsight 华为云

安卓开发软件有哪些?分析Android未来几年的发展前景,吐血整理

欢喜学安卓

android 程序员 面试 移动开发

云原生动态周报 | Google推出VM Manager

华为云原生团队

Docker 开源 云原生 华为云

第三章: 产品解决方案作业

让时间说真话

产品经理 产品经理训练营

史上最清晰的Tarjan算法详解

华为云开发者联盟

算法 静态分析 语法树 Tarjan 数据流

时间约束帮助我写作

Justin

方法论 创意 习惯养成 28天写作

持续进步的不二法宝-PDCA

Ian哥

28天写作

Python 中 sorted 如何自定义比较逻辑

zikcheng

Python sorted cmp

安卓开发交流!一线互联网移动架构师筑基必备技能之Java篇,Android岗

欢喜学安卓

android 程序员 面试 移动开发

第三章:产品解决方案作业

让时间说真话

产品经理

传统线程同步通信技术

武哥聊编程

Java 多线程 28天写作

大背景 (28天写作 Day25/28)

mtfelix

28天写作 新能源汽车 新能源革命 碳中和

【WOW.js】Animate.css的黄金搭档

德育处主任

CSS 动画 js 28天写作 2月春节不断更

第十周 学习总结

简简单单

高性能缓存 Caffeine 原理及实战

vivo互联网技术

Java Caffeine 本地缓存

产品经理训练营第0期-第三次作业

孙行者

第0期 产品经理训练营 问题

厚积薄发!华为云7篇论文被AAAI收录,2021年AI行业技术风向标看这里!

华为云开发者联盟

人工智能 卷积网络 远程监督 域泛化 油气储集层收集

持续交付

lidaobing

持续交付 28天写作

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