写点什么

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

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

关注

评论

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

2022 前端(JavaScript & TypeScript)会有什么新的变化?

Hugo

零代码平台——业务人员的知识变现工具

明道云

安卓平板体验Java开发,还能白嫖一年阿里无影云,真香!

王磊

这一年很幸运,平平淡淡的|2021 年度总结

看山

年度总结 1月月更

技术分享 | 如何让上千容器同时"存活"

ShowMeBug

减少技术债务的系统方法

俞凡

技术管理 大厂实践 技术债务 Zalando

🏆【Alibaba中间件技术系列】「Nacos技术专题」服务注册与发现相关的原理分析

洛神灬殇

微服务 nacos 注册中心 Alibaba技术 1月日更

macOS下 Hive 2.x 的安装与配置

JavaEdge

1月月更

21 Prometheus之OpenStack的监控简述

穿过生命散发芬芳

Prometheus 1月月更

sqoop如何指定pg库的模式

华为云开发者联盟

大数据 hadoop sqoop 数据 PG库

模块七作业

Geek_e6f7f6

架构训练营

关于看板方法,你需要知道的几件事

华为云开发者联盟

敏捷 敏捷开发 软件开发 团队 看板方法

一文了解MySQL中的日志redo log、undo log、binlog

Ayue、

MySQL 1月月更

[2022]TypeScript 尽量避免的语法[译文]

Hugo

在springboot中,如何读取配置文件中的属性

华为云开发者联盟

springboot value 映射 配置文件 RequiredArgsConstructor

navie ui/antDesign vue 的按需自动引入

Mr.Cactus

Vite2 vue3.2 antDesign vue naive ui

低代码实现探索(二十八)目录模块文件组织方式

零道云-混合式低代码平台

kube-controller-manager源码分析 目录导航

良凯尔

Kubernetes 源码分析 云原生 #Kubernetes#

架构实战营-毕业设计

Beyond Ryan

MySQL最全基础大整理(建议收藏)1️⃣

XiaoLin_Java

1月日更

Go 语言快速入门指南:Go 测试

宇宙之一粟

Go 测试 Go 语言 1月月更

RUST 是 JavaScript 基建的未来

Hugo

最好用的 7 款 Vue 3 富文本编辑器

蒋川

Vue 3 富文本编辑器

Spring隐藏了真实的错误,让排查问题变得很难

看山

Mybatis-Plus 1月月更 spring-boot NoClassDefFoundError

原来还能这么干——罗胖2022年《时间的朋友》观后感

看山

1月月更 时间的朋友 你好2022

人人都会设计模式:策略模式

看山

算法 设计模式 策略模式 1月月更

一通百通,带你一次性全理解Spring 中的Template

华为云开发者联盟

spring 设计模式 流程 template 模板模式

招募! IT 技术界的伯乐和千里马

ShowMeBug

JDK动态代理

Java

软件架构治理与混沌工程

码猿外

架构设计 混沌工程 软件架构治理

快捷式数据分发在银行反洗钱中的运用

明道云

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