← 返回 AI新闻列表
📈 行业动态

Rust 1.98 发布:打破代数运算性能瓶颈,编译器可重排更多运算

来源:IT之家 · 发布于 2026-08-22 09:12:36
Rust 1.98 发布:打破
IT之家 8 月 22 日消息,科技媒体 Linuxiac 昨日(8 月 21 日)发布博文,报道称 Rust 团队更新推出 1.98 版本,重点加入面向 f32 和 f64 浮点类型的“代数浮点”(algebraic floating-point)方法,同时加快整数格式化,并稳定多项标准库 API。本次更新重点针对 f32 和 f64 浮点数引入了全新的代数运算方法(包括 algebraic_add、algebraic_sub、algebraic_mul、algebraic_div 以及 algebraic_rem)。在传统的 IEEE 754 标准下,由于浮点数加法不具备严格的结合律,编译器在优化时无法重新排序运算顺序,这曾导致 Rust 在处理简单的点积运算时,性能速度是 C++ 的八分之一。新引入的代数方法允许开发者在特定代码块中告知编译器:该部分可以遵循实数的代数性质进行激进重排与并行计算。这一改动不仅大幅增强了循环向量化(SIMD)的能力,成倍提升了数值计算效率,而且不会引发未定义行为(UB)。在底层工具链方面,Rust 1.98.0 为所有原生整数类型带来了全新的 format_into 方法,并同步稳定了 NumBuffer 类型。该方法通过直接将整数格式化写入预分配的透明缓冲区中,完全绕过了传统的动态分发(Dynamic Dispatch),其执行效率已能与业界知名的 itoa 依赖库相媲美,极大地减少了不必要的性能损耗。同时,新版本更新了 ManuallyDrop 的官方文档,为 ManuallyDrop 与 Box 的交互提供了长期的稳定性保证。这一修改明确承诺:在显式释放 Box 后移动其外层 ManuallyDrop 包裹结构的操作,在未来将彻底告别未定义行为风险。IT之家附上相关截图如下:

IT之家 8 月 22 日消息,科技媒体 Linuxiac 昨日(8 月 21 日)发布博文,报道称 Rust 团队更新推出 1.98 版本,重点加入面向 f32 和 f64 浮点类型的“代数浮点”(algebraic floating-point)方法,同时加快整数格式化,并稳定多项标准库 API。

本次更新重点针对 f32 和 f64 浮点数引入了全新的代数运算方法(包括 algebraic_add、algebraic_sub、algebraic_mul、algebraic_div 以及 algebraic_rem)。

在传统的 IEEE 754 标准下,由于浮点数加法不具备严格的结合律,编译器在优化时无法重新排序运算顺序,这曾导致 Rust 在处理简单的点积运算时,性能速度是 C++ 的八分之一。

新引入的代数方法允许开发者在特定代码块中告知编译器:该部分可以遵循实数的代数性质进行激进重排与并行计算。这一改动不仅大幅增强了循环向量化(SIMD)的能力,成倍提升了数值计算效率,而且不会引发未定义行为(UB)。

在底层工具链方面,Rust 1.98.0 为所有原生整数类型带来了全新的 format_into 方法,并同步稳定了 NumBuffer 类型。该方法通过直接将整数格式化写入预分配的透明缓冲区中,完全绕过了传统的动态分发(Dynamic Dispatch),其执行效率已能与业界知名的 itoa 依赖库相媲美,极大地减少了不必要的性能损耗。

同时,新版本更新了 ManuallyDrop 的官方文档,为 ManuallyDrop 与 Box 的交互提供了长期的稳定性保证。这一修改明确承诺:在显式释放 Box 后移动其外层 ManuallyDrop 包裹结构的操作,在未来将彻底告别未定义行为风险。

IT之家附上相关截图如下: