Rust 1.90:rustc 在 x86_64 Linux 上切换到 LLD 作为默认链接器
关键更新
Rust 项目宣布,从 Rust 1.90.0 稳定版(计划于 2025-09-18 发布)开始,rustc 将默认使用 LLVM LLD 链接器来支持 x86_64-unknown-linux-gnu 目标。在基准测试中,此更改将增量构建的链接时间减少了多达 7 倍(ripgrep 示例显示增量调试重建的端到端速度提升约 40%,全调试构建的提升约 20%)。新的默认设置已经在 1.90 beta 中可用——项目现在应针对 beta 进行测试,并在观察到链接器回归时提交问题。
重要性
对于 Linux Rust 开发者和 CI 系统来说,这是一个切实可感的性能提升:链接通常是大型二进制文件和调试构建的构建时间的主要部分,因此更快的链接直接缩短了编辑-编译周期和 CI 运行时间。对于团队来说,这意味着更小的 CI 队列、更低的运行时间和成本,以及在不更改代码的情况下更快的开发者迭代。由于 rust-lld 随工具链一起发布,您无需安装系统链接器即可受益;然而,此更改是特定于目标的(x86_64 Linux),并不是其他平台的全局工具链行为。
存在一个小的兼容性问题:在少数情况下,LLD 与 GNU ld 并不是逐字节兼容,因此某些依赖于旧版链接器语义的 crate 可能需要链接标志(或选择退出)。如果您遇到问题,可以通过设置 RUSTFLAGS 或 .cargo/config.toml 为 -Clinker-features=-lld(或将等效标志添加到您的 CI 构建中)来按项目恢复到先前的行为。实际上,建议的立即行动是:在 CI 中测试您的代码库在 1.90 beta 上,更新 CI 中使用的任何固定 Docker 镜像/rustup 工具链配置到 beta/stable 通道以进行验证,并仅在出现真实链接器不兼容时在 CI 模板中添加选择退出标志。同时监控已经资源受限的长时间运行的构建,因为 LLD 的并行性可能会在链接期间增加 CPU 使用率;如果这影响到您的运行器,请限制并行性或暂时使用选择退出。
这一变化是针对 Linux Rust 开发的低风险、高回报的工具改进,具有明确的操作和开发者生产力收益;通过在 CI 中运行 beta 进行准备,关注链接时间回归,并在必要时使用文档中提供的选择退出标志。
来源
继续阅读
Node.js v25 定于 2025‑10‑15 发布 — semver‑major 版本即将到来
2025年9月30日Node.js v25 定于 2025 年 10 月 15 日发布(提交截止日期 2025‑09‑15)。团队应针对新主要版本运行 CI,验证本地模块,并准备金丝雀部署。
Azure Functions Proxies:社区支持将于2025‑09‑30结束 — 立即迁移离开Proxies
2025年9月29日Azure宣布Azure Functions Proxies将在2025‑09‑30后不再支持;仍在使用Proxies的团队必须立即清点并迁移到受支持的API接口(APIM、Front Door或轻量级反向代理)。
NodeShield: 运行时 SBOM 强制执行 (CBOM) 以微不足道的开销限制 Node.js 的供应链攻击
2025年9月28日一篇新论文介绍了 NodeShield,这是一种运行时强制执行系统,使用扩展了每个依赖项能力的 SBOM(CBOM)来防止 Node.js 中的供应链滥用,效果约为 98%,开销小于 1 毫秒。