【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

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

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

关注

评论

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

SQL注入进阶篇一php代码审计

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 漏洞挖掘

官方线索|鸿蒙1024程序员节

轻口味

1024我在现场

官方线索|第二届1024国际智能投研开发者大会

穿过生命散发芬芳

1024我在现场

线程池处理批量接口请求实践

FunTester

线程池 性能测试 接口测试 测试框架 FunTester

官方线索|Gitee2021程序员节特别活动

穿过生命散发芬芳

1024我在现场

架构:微内核架构(Microkernel Architecture)二

程序员架构进阶

架构 规则引擎 微内核架构 OSGi 10月月更

Apache APISIX 社区周报 | 2021 10.1-10.14

API7.ai 技术团队

开源社区 API网关 APISIX 社区周报 Apache APISIX

官方线索|2021 长沙·中国 1024 程序员节

耳东@Erdong

1024我在现场 10月月更

在线中文繁简体转换工具

入门小站

工具

【日志技术专题】「logback入门到精通」彻彻底底带你学会logback框架的使用和原理(入门介绍篇)

洛神灬殇

Java logback 日志系统 10月月更

基于分布式认知工业互联网的汽车零部件质量溯源平台

CECBC

linux之sed使用技巧

入门小站

Linux

【Flutter 专题】27 图解 ListView/GridView 混用时滑动冲突小尝试

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 10月月更

数字货币已被世界公认,中国市场即将爆发

CECBC

官方线索|CCF CED 中国工程师文化日

穿过生命散发芬芳

1024我在现场

竞跑加速! 数字人民币场景全覆盖

CECBC

Golang网络编程

CodeWithBuff

golang 网络编程 Go 语言 web socket

应对多样管理需求,新版 EMQ X Cloud 实现多项目部署管理

EMQ映云科技

物联网 mqtt

不了解Zookeeper的童鞋看过来哦~

Regan Yue

zookeeper 10月月更

官方线索|RTE2021 实时互联网大会

穿过生命散发芬芳

1024我在现场

技术人在职场应该知道的沟通技巧

baiyutang

沟通模型 10月月更

和12岁小同志搞创客开发:如何驱动红外遥控器?

不脱发的程序猿

少儿编程 DIY 红外遥控器 创客开发

北鲲云超算如何让仿真技术、HPC和人工智能之间的深度融合?

北鲲云

Android开发中遇到加载有相同函数的so库时的问题

轻口味

10月月更

Java常用容器笔记

风翱

java 10月月更

Apache APISIX 2.10.0 正式发布,带来第一个 LTS 版本!

API7.ai 技术团队

开源 API网关 APISIX Apache APISIX

[论文分享]VulDeePecker:基于深度学习的漏洞检测技术

maijun

机器学习 静态代码分析 VulDeePecker 漏洞检测

我与消息队列的八年情缘

勇哥java实战分享

RocketMQ 消息队列 Activemq

网站性能优化的实战指南

devpoint

html 性能优化 10月月更

这篇博客和你唠唠 python 并发,滚雪球学python第四季,第16篇

梦想橡皮擦

10月月更

康威定律

俞凡

架构 认知

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