写点什么

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

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

关注

评论

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

百亿市场遭「卡脖子」,国产工业软件兴起正当时

ToB行业头条

如何避免这10类常见故障?B站数据库架构设计做了这5步……|TakinTalks稳定性社区

TakinTalks稳定性社区

数据库治理 故障治理

【云原生 | 从零开始学 Kubernetes】三、Kubernetes集群管理工具kubectl

泡泡

Docker 云计算 云原生 k8s 9月月更

计算机上的高性能计算,你了解多少?

Finovy Cloud

高性能计算

ESP32-C3入门教程 基础篇(七、LEDC — LED PWM 控制器)

矜辰所致

pwm ESP32-C3 9月月更

Chrome操作指南——入门篇(九)调试小技巧

Augus

Chrome开发者工具 9月月更

数字化转型趋势|汽车电子软件开发工具链必看

laofo

DevOps cicd 研发效能 持续交付 DevOps工具链

Linux内核详细笔记目录

简说Linux内核

嵌入式 Linux内核 驱动

Databend 参加 PingCAP 用户峰会 2022

Databend

数据仓库 开源社区 云平台

一刀999?怎样让你的 iPhone 手游也拥有开挂般的体验

淋雨

imazing 存档 元气骑士

Web3.0杂谈-#002(48/100)

hackstoic

Web3.0

FaissPQ索引简介

转转技术团队

深度学习 Faiss 向量计算

用多线程实现归并排序

聚变

归并排序 Lambda函数

如何根治 Script Error.

阿里巴巴终端技术

前端 终端 Script

SpringMVC初识

十八岁讨厌编程

Java 后端开发 9月月更

Spring事务角色与事务属性

十八岁讨厌编程

Java 后端开发 9月月更

JavaWeb核心之ServletConfig

楠羽

Servlet 笔记 9月月更

常用的注册中心以及他们的对比

想要飞的猪

zookeeper nacos Eureka

中移链DDC-SDK技术对接全流程(三)

BSN研习社

客户说你的 SaaS 产品不好用怎么办?

产品海豚湾

产品经理 SaaS 客户关系管理 产品运营 9月月更

好家伙!全网开源对标P5~P7程序员技术成长路线,阿里这次是真卷

程序员小毕

Java 程序员 面试 程序人生 架构师

如何使用禅道集成钉钉

禅道项目管理

钉钉 项目管理工具 禅道

赛事升级,烽烟正燃!网易云信 Innovation 2022 开发者大赛等你参加!

网易智企

开发者大赛

Spring事务管理

十八岁讨厌编程

Java 后端开发 9月月更

【云原生 | 从零开始学Kubernetes】四、Kubernetes之YAML文件详解

泡泡

云计算 云原生 k8s 9月月更

Chrome操作指南——入门篇(八)breakpoint

Augus

Chrome开发者工具 9月月更

Chrome操作指南——入门篇(十)调试小技巧

Augus

Chrome开发者工具 9月月更

异常场景测试

转转技术团队

测试方案 异常测试 用例设计

ESP32-C3入门教程 基础篇(六、TIMG 硬件定时器 与 软件定时器)

矜辰所致

软件定时器 ESP32-C3 9月月更

前端必读2.0:如何在React 中使用SpreadJS导入和导出 Excel 文件

葡萄城技术团队

前端 Excel 框架

ShareSDK Uni-app 插件

MobTech袤博科技

uni-app ios android

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