【Rust日报】2026-08-30 Rustdoc 一周提速 33%

💡 原文中文,约1900字,阅读约需5分钟。
📝

内容提要

Rustdoc 通过一系列 PR 优化,平均提速约33%,部分 crate 最高达40%。改进源于先过滤再构建 trait impl,并限制 primitive 和 synthetic impl 处理,已进入 nightly,计划随 Rust 1.99 发布。

🔎

延伸解读

优化思路:先过滤再构建

Rustdoc 提速的关键在于改变了 trait impl 的处理顺序:原先会对依赖图中几乎所有 trait impl 先构建再过滤,现在改为先过滤再构建,避免了大量无效工作。这一改动单独贡献了约 20% 的 wall-time 改善,说明在编译器工具链中,减少不必要的计算往往比微优化更有效。

多管齐下的性能改进

除了核心的过滤优化,Rustdoc 还通过限制 primitive impl 仅在本地运行、只对文档可见类型生成 synthetic impl、以及避免对不需内联的 impl 调用 param_env 等方式,累计实现了约 33% 的加速。这些改进相互独立,说明性能优化可以从多个维度同时推进,每个小改进都能带来可观的收益。

对 Rust 生态的影响

Rustdoc 的提速将随 Rust 1.99 进入 stable,这意味着所有 Rust 开发者都能受益于更快的文档生成。对于依赖大型依赖树的 crate,文档构建时间可能减少约 40%,有助于提升 CI 效率和开发体验。

Q&A

Rustdoc 最近一周的提速效果如何?

Rustdoc 通过一系列 PR 优化,平均 wall-time 降低约 25%(对应约 33% 加速),部分真实 crate(如 hyper、bitmaps)最高约 40%,微基准 helloworld 最高约 60%。

Rustdoc 提速的主要优化方法是什么?

主要优化方法是先过滤再构建 trait impl,而不是先构建再过滤。此外,还限制了 primitive impl 仅在本地 primitive 上运行,只对文档可见类型做 auto/blanket synthetic impl,以及避免对不需内联的 impl 调用 param_env。

Rustdoc 的改进何时会发布到稳定版?

改进已进入 nightly,计划随 Rust 1.99 进入 stable。

Apache Iggy 是什么?它最近有什么重要进展?

Apache Iggy 是一个用 Rust 编写的持久化消息流平台,采用 thread-per-core、shared-nothing 架构,并使用 Linux io_uring 做磁盘/网络 I/O,共识基于 VSR。它于 2026-08-19 从 Apache Incubator 毕业,成为 Apache Software Foundation 的顶级项目(TLP)。

Glacex 是什么?它有哪些功能?

Glacex 是一个用 Rust 从零实现的 GPU 加速 immediate-mode UI 库,基于 winit 与 wgpu,不依赖现有 UI 框架。当前能力包括实例化 GPU 渲染、SDF 圆角形状、glyphon 文本渲染、命中测试与交互、Row/Column 布局、Solid/Gradient 填充,以及 button、checkbox、radio、label、text input、text area、scroll view、container 等控件。

COSMolKit 是什么?它如何保证与 RDKit 的兼容性?

COSMolKit 是一个 Rust 原生的化学信息学与结构生物学工具包,提供 Python 绑定,部分能力可通过 WASM 在浏览器运行。它覆盖分子图操作、SMILES/SMARTS、分子文件工作流、2D 描绘、3D 构象生成、指纹、描述符、InChI 等。为保证正确性,它以 RDKit 兼容行为作为下限,在有源码参考时按 RDKit 逻辑移植,并用差异测试对照,大规模验证语料为 ChEMBL 37(约 290 万条记录),对照 RDKit 2026.03.1。

🏷️

标签

➡️

继续阅读