NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

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

关注

评论

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

区块链助力物流与供应链数字化

CECBC

深入解析Apache Pulsar系列: Broker消息确认的管理

博文视点Broadview

面对复杂微服务系统观测时,如何化繁为简?

尔达Erda

云计算 程序员 云原生 程序员微服务

在线toml转JSON工具

入门小站

工具

Spring核心原理分析之MVC九大组件(1)

Tom弹架构

Java spring 源码

Kafka版本概览

Kafka中文社区

IAST 在去哪儿 Q-SDL 体系中的应用

火线安全

信息安全 DevSecOps IAST

我的记忆心法拆解一

将军-技术演讲力教练

如何以区块链技术为核心,渗透工业领域、支撑工业绿色发展

CECBC

实践DDD的一种思路

安然

DDD CQRS

百度王海峰:深耕自然语言处理近30年,推进AI融合创新

百度大脑

人工智能

Linux之less命令

入门小站

Linux

如何使用pFuzz以多种方法验证Web应用程序防火墙的安全性

H

网络安全 防火墙 信息安全

【MongoDB学习笔记】-使用 MongoDB 进行 CRUD 操作(下)

恒生LIGHT云社区

数据库 mongodb

全链路在线生产数据库压测利器:Apache ShardingSphere 影子库特性升级

SphereEx

开源 技术分享 ShardingSphere SphereEx 影子库

什么是立体车库?立体车库企业如何管理业务流程?

优秀

低代码 业务流程管理 立体车库

叮咚买菜自建MongoDB上云实践

MongoDB中文社区

mongodb

当游戏爱上MongoDB–参会赢Kindle!

MongoDB中文社区

mongodb

Dubbo框架学习笔记九

风翱

dubbo 12月日更

大数据开发之Hbase面试题

@零度

大数据 HBase

🍃【Spring实战系列】「Web请求读取系列」如何构建一个可重复读取的Request的流机制

洛神灬殇

spring 12月日更 HttpRequestWrapper 请求处理

Linux云计算这样学习效率更快,手把手带你实操结构化命令Case和for、while循环

学神来啦

Linux Shell linux运维 linux云计算 循环

可视化开发主流开源流程引擎与设计器研究对比

全象云低代码

低代码 流程 低代码开发 低代码平台 可视化软件

教你用Camtasia简单几步制作精美片头

淋雨

Camtasia

语音信号处理5:语音信号的感知

轻口味

28天写作 12月日更

技术分享| anyRTC服务单端口设计

anyRTC开发者

音视频 WebRTC RTMP 视频直播 服务单端口

黑客实验环境的搭建与使用

喀拉峻

黑客 网络安全 环境配置 网络攻防 环境搭建

为什么孩子会有拖延症?

Tiger

28天写作

云图说|初识ModelArts开发者生态社区——AI Gallery

华为云开发者联盟

华为云 AI Gallery 云图说 ModelArts 开发者生态社区

滴滴Logi-KafkaManager

Kafka中文社区

Kafk

遇到或问过的一些Spring面试题(持续更新)

Lazy

Java spring

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