写点什么

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

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

关注

评论

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

2024南京软件产业博览会(南京软博会)

AIOTE智博会

软件博览会 软件展会 软博会 南京软博会

提高软技能,财务团队发展的关键经验教训

智达方通

全面预算管理 财务管理 财务报告 管理会计信息化

聚焦大模型基础设施发展,AI Infra组会在宁召开

中国信通院AI Infra工作组

关于征集人工智能中台系列标准参编单位通知

中国信通院AI Infra工作组

橙篇与中传经管学院达成战略合作,联合推出经济学领域首个高校智能体「中传经小济」

Geek_2d6073

OpenAI以1500亿美元公司估值向投资者筹集65亿美元!安卓版谷歌Gemini Live免费上线|AI日报

可信AI进展

火热报名中 | 2024开放原子开源生态大会:聚焦产业发展,共谋生态繁荣之路

Geek_2d6073

6月25日相聚金陵,AIIA将召开多场线下组会

中国信通院AI Infra工作组

探讨微信小程序与移动应用的结合

Geek_2305a8

从YouTube到B站,Downie 4一网打尽,视频下载无界限!

Rose

VMware vSphere 8.0 Update 3b 发布下载,新增功能概览

sysin

vSphere vmware vcenter esxi

万界星空科技AI低代码MES的具体功能及工厂应用效果

万界星空科技

低代码 低代码平台 mes 万界星空科技 低代码云MES

基于ChatGPT开发人工智能服务平台

霍格沃兹测试开发学社

Suno 重磅功能「Covers」:一键翻唱任意歌曲;阿里通义将发布 AI 视频生成大模型丨 RTE 开发者日报

声网

Suno 重磅功能「Covers」:一键翻唱任意歌曲;阿里通义将发布 AI 视频生成大模型丨 RTE 开发者日报

声网

macOS Big Sur 11(苹果电脑mac11系统安装包)v11.7.10正式版

Rose

首批通过!中国移动(浙江)创新研究院九天信创一体机顺利通过中国信通院可信AI大模型一体机评估

中国信通院AI Infra工作组

Paper Digest|OpenSPG 超大规模知识仓储 KGFabric 论文解读

可信AI进展

OpenSPG

如何将扫码提交的数据直接推送到企业微信、钉钉、飞书群聊?详细教程

草料二维码

草料二维码

人工智能 | 基于ChatGPT开发人工智能服务平台

测吧(北京)科技有限公司

测试

助力园区数字化转型,合合信息市北高新园区打造“一企一画像”个性化服务

合合技术团队

数字化转型 科技 合合信息

VMware vCenter Server 8.0U3b 发布下载,新增功能概览

sysin

vSphere vcenter esxi

混沌工程入门指南

FunTester

边缘人工智能平台标准即将形成征求意见稿

中国信通院AI Infra工作组

首批通过!百度千帆大模型一体机顺利通过中国信通院可信AI大模型一体机全能力评估

中国信通院AI Infra工作组

苹果虚拟机软件Parallels Desktop与VMware Fusion有何不同?

Rose

免弹窗、预授权,默认界面扫码能力打造系统级扫码体验

HarmonyOS SDK

HarmonyOS

2024 AIIA先锋案例 | AI Infra专项征集工作持续进行中

中国信通院AI Infra工作组

深度挖掘|Cloudera安装不再难!基础环境搭建全解析

敏捷调度TASKCTL

cloudera CDH CDH 大数据 Hadoop

全面掌握 Jest:从零开始的测试指南(上篇)

EquatorCoco

Java 前端 Jest

首批通过!华为FusionCube A3000训推超融合一体机通过中国信通院可信AI大模型一体机产品全能力评估

中国信通院AI Infra工作组

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