写点什么

Rust 1.9 改善了错误处理机制并提升了编译性能

  • 2016-06-15
  • 本文字数:742 字

    阅读完需:约 2 分钟

最近发布的Rust 1.9 增加了一个新的异常处理API,让开发者在处理跨线程异常传播的时候能够增加更多的控制。此外新版本还提升了变量判等时的编译性能。

正如前面所提到的, std::panic增加了一个新的catch_unwindAPI,Rust 使用它来处理异常,同时允许开发者更好地控制由异常触发的堆栈展开过程。Rust 在这种场景下的哲学是“快速失败”,也就是在展开堆栈之后停止唤起的线程,但是其他线程不受影响,可以继续运行,直到它们试图与出错的线程通信为止,只有当需要与出错的线程通信时才需要做一些恢复工作。通过使用catch_unwind,开发者能够捕获 panic 并将其转换成失败线程中的普通错误:

复制代码
let result = panic::catch_unwind(|| {
panic!("oh no!");
});
assert!(result.is_err());

该功能在下面两种场景中非常有用:

  • 将 Rust 嵌入其他语言的时候。在这种情况下 unwinding 很有可能会在语言边界处产生分割故障。
  • 当创建类库来管理线程的时候。在这种情况下,最好是将错误通知到客户端而不是停止失败的线程。

值得注意的是,堆栈展开目前是 Rust 处理 panic 的唯一策略,但是未来这种情况会改变。确实,通过一种新的“终止”策略从而避免堆栈展开的成本可能更可取。

新的Rust 版本还提升了两个变量判等时的编译性能。 PR 的提交者 Markus Westerlind 声称在某些情况下提升非常明显,复杂性从 O(n!) 降低到了 O(n)。正如 Westerlind 在 Reddit 上所解释的,尽管 n 通常都非常小,但是代码中细微的差别都有可能使得 n 膨胀。在这些场景下,恰如 Westerlind 的 combine 库所展示的,Rust1.9 在性能上有极大的提升。

此外,Rust1.9 还提升了许多库函数的稳定性,包括网络、编码以及指针处理函数。

如果你想了解更多信息可以查看 Rust1.9 的官方声明

查看英文原文 Rust 1.9 Improves Error Handling and Compile Time

2016-06-15 19:001845
用户头像

发布了 321 篇内容, 共 129.6 次阅读, 收获喜欢 19 次。

关注

评论

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

AI时代的就业市场:哪些岗位最受冲击?

天津汇柏科技有限公司

人工智能 AI 人工智能

AIP平台升级:集成DeepseekR1推理模型助力智能化开发

大东(AIP智能体运营专员)

人工智能

“数字创新产品课程” 4月12-13日 · CSPO认证在线周末班

ShineScrum

Scrum 敏捷 产品负责人 CSPO认证 敏捷认证

为什么DevOps很好,但却很难落地

易成研发中心

深度解读「摩根士丹利」人形机器人最新研报:全球100家人形机器人及产业链企业

机器人头条

科技 大模型 人形机器人 具身智能

家人们谁懂啊!DeepSeek 简直杀疯了

伤感汤姆布利柏

COB与SMD封装技术哪个更适合LED显示屏?

Dylan

技术 LED显示屏 全彩LED显示屏 led显示屏厂家

AI发音练习APP的技术难点

北京木奇移动技术有限公司

软件外包公司 AI口语练习 AI英语学习

AI语法纠正APP的技术难点

北京木奇移动技术有限公司

软件外包公司 AI英语学习 AI英语语法

AIP平台升级:集成DeepseekR1推理模型助力智能应用新高度

大东(AIP智能体运营专员)

人工智能

音乐NFT系统的测试

北京木奇移动技术有限公司

软件外包公司 音乐NFT 体育NFT

硅基流动+Cherry Studio‘0天然全科技’快速搭建DeepSeek满血版

京东科技开发者

核心业务上云,如何释放国产 CPU 极致性能?专有云 ABC Stack 给出答案

Baidu AICLOUD

专有云 自主创新 国产cpu性能

AI发音练习APP的开发

北京木奇移动技术有限公司

软件外包公司 AI发音练习 AI口语APP

第一次面字节,一面很简单,二面被疯狂拷打!

王中阳Go

Go 面试 后端 字节

首日调用客户破1.5万!DeepSeek-V3/R1上线背后的超低推理成本技术揭秘

百度Geek说

保姆级教程!DeepSeek+Chatbox 10分钟教会你实现AI客户端应用和智能助手

京东科技开发者

DeepSeek(私有化)+IDEA+Dify+微信 搭建AI助手保姆级教程

京东科技开发者

车企及自动驾驶背景创始团队,已成为人形机器人赛道“最强”派系!

机器人头条

自动驾驶 科技 人形机器人 具身智能

从 DeepSeek 爆火,看低代码开发的变革潜力

秃头小帅oi

大模型时代的软件进化论:恐龙式软件 vs. 猴群式软件

白鲸开源

软件开发 大模型 DeepSeek DeepSeek-R1

AI4Science之分子材料成像调研洞察

Splendid2025

AI语法纠正APP的测试

北京木奇移动技术有限公司

软件外包公司 AI英语学习 AI英语语法

Rust 1.9改善了错误处理机制并提升了编译性能_语言 & 开发_Sergio De Simone_InfoQ精选文章