写点什么

Rust 1.12 带来中级 IR

  • 2016-10-19
  • 本文字数:862 字

    阅读完需:约 3 分钟

Rust 核心团队最近发布了稳定版的Rust 1.12,这是自从1.0 版发布后最重要的一次更新。此次发布的新版提供了用户翘首以待的中级IR(Mid-Level IR,MIR),为该编译器未来的进一步优化铺平了道路。

在博客文章 MIR 简介中,Mozilla 公司的 Niko Matsakis 称:

MIR 介于现有的 HIR(“高级 IR”,近似于一种抽象语法树)和 LLVM (“低级 IR”)之间。以前如果遇到某个相当大规模的操作步骤,编译器会在“翻译”过程中从业已成熟的 Rust 转换为类似于机器代码的 LLVM,但现在这一工作可以通过两个阶段完成,而经过大幅简化后的 Rust,即 MIR 恰好居于这两个阶段之间。

Rust 的开发者 Steve Klabnik简化后的翻译过程使得我们有机会直接对 MIR 执行各种新的优化。

尽管 Rust 团队认为 MIR 并未提供任何“用户可见”的内容,但 Matsakis 提到可以大幅改进编译速度,同时可支持增量编译,此外执行速度也更快,可支持更准确的类型检查。

最新的稳定版 Rust 也提供了大量用户可见的更新,包括全新格式的 Rustc 错误信息,如下所示:

该团队解释说:

[新的错误信息格式] 可以向开发者呈现有关为什么出错的大量内部知识,该版本会以用户代码为中心,并会高亮显示与错误有关的代码内容,同时可以通过注解描述具体的错误。

在新的错误信息格式中,我们会在显示错误信息的同时显示与该错误关系最紧密的代码内容。

最初这种形式的错误信息是为了帮助用户理解借用检查(Borrow-checking)错误,但我们发现这种格式也可以更广泛地用于各种类型的错误。如果想详细了解这种设计,请参考之前针对这一话题发布的博客文章

Mozilla 工程师 Jonathan Turner 在博客文章错误信息塑型时代即将到来中着重介绍了相关的改进,并称通过使用开发者编写的代码作为上下文,Rust 可以帮助用户更轻松地概括了解问题的所在。

1.12 版还有其他改进,例如 Cargo 的工作空间功能已经可以让一组 Rust 包共享同一个Cargo.lock文件,这样开发者便可以更容易地在一个版本中保持共享的依存性。

Rust 1.12 办完整的发布说明已公布至 GitHub ,新版可从这里下载。

查看**** 英文原文: Rust 1.12 Brings Mid-Level IR

2016-10-19 19:002575
用户头像

发布了 283 篇内容, 共 116.6 次阅读, 收获喜欢 62 次。

关注

评论

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

站群服务器优化技巧:提升网站速度与搜索引擎排名

一只扑棱蛾子

站群服务器

如何提高知识库系统管理水平?

秃头小帅oi

一文读懂,新质生产力!

天津汇柏科技有限公司

新质生产力

智能消息推送SDK产品:移动APP拉新促活的利器

MobTech袤博科技

一文聊透数字化转型,获得企业未来生存的入场券

同道说

产品 架构 数据 趋势 数字化

与鲸同行,智领未来!和鲸科技“人工智能+X”学科建设合作交流会(北京站)圆满结束!

ModelWhale

人工智能 大数据 数据科学 实验室 新型基础设施建设

MySQL索引优化:选择合适的索引类型

gogo

软件测试学习笔记丨基于Gitlab的持续集成机制

测试人

软件测试

纪念金庸先生百年诞辰:华为阅读全线上线金庸先生经典作品,致敬武侠巨匠

最新动态

启信宝商业大数据助力全国经济普查

合合技术团队

人工智能 商业大数据 启信宝

当法式美学遇上鸿蒙生态,Hi畅享70 Pro 5G演绎科技浪漫?

极客天地

消息队列的七种经典应用场景

不在线第一只蜗牛

消息队列

深入浅出:易懂的 Windows 平台 cURL 命令使用教程

Liam

Java 程序员 后端 API curl

小米汽车 27 分钟大定破突破 5 万台;中国在全球率先商用 5.5G 丨 RTE 开发者日报 Vol.174

声网

2024鲸鸿动能开发者变现服务沙龙首站启幕

最新动态

三思超100㎡ P0.9 8K LED大屏登陆广东佛山丨一屏控全局

电子信息发烧客

亮数据,可视化数据采集强大利器

陈橘又青

数据采集

cgroup、资源池、用户的关系..涉及到GaussDB(DWS)的资源设置

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 华为云GaussDB(DWS)

华为云亮相KubeCon EU 2024,以持续开源创新开启智能时代

华为云开源

开源 云原生 华为云

深度剖析鞋服品牌商品数字化管理的重要性

第七在线

来,把弹幕打在鸿蒙原生应用上!B站完成鸿蒙原生应用Beta版本开发

最新动态

值得思考的两个测试面试题

老张

软件测试 面试经验

如何专业、正确地使用LED租赁屏

Dylan

技术 音乐 视觉 LED LED显示屏

Rust 1.12带来中级IR_开源_James Chesters_InfoQ精选文章