在Linux上使用LLD链接器实现1.90.0稳定版更快的链接时间

在Linux上使用LLD链接器实现1.90.0稳定版更快的链接时间

💡 原文英文,约700词,阅读约需3分钟。
📝

内容提要

rustc将在下一个稳定版本1.90.0(预计2025年9月18日)中默认使用LLD链接器,以显著减少链接时间,提升编译效率,尤其在增量重建和大型二进制文件中效果明显。测试版已发布,用户可反馈问题。

🎯

关键要点

  • rustc将在下一个稳定版本1.90.0中默认使用LLD链接器,预计于2025年9月18日发布。
  • 使用LLD链接器将显著减少链接时间,提高编译效率,特别是在增量重建和大型二进制文件中效果明显。
  • 链接时间通常占据编译时间的一大部分,传统链接器在现代机器上表现较慢。
  • rustc已经在某些目标上默认使用LLD,且在2024年5月开始在nightly版本中启用rust-lld。
  • 使用rust-lld的直接好处是大幅改善链接时间,增量重建时链接时间减少7倍,整体编译时间减少40%。
  • 虽然rust-lld是大多数情况下的直接替代品,但与GNU ld并不完全兼容,可能需要额外的链接参数。
  • 在资源受限的环境中,使用并行处理可能会带来性能问题。
  • 用户可以在beta版本中测试项目,并在遇到问题时通过GitHub报告,必要时可使用-C linker-features=-lld标志回退到默认链接器。

延伸问答

rustc 1.90.0 版本什么时候发布?

rustc 1.90.0 版本预计于2025年9月18日发布。

使用 LLD 链接器有什么好处?

使用 LLD 链接器可以显著减少链接时间,增量重建时链接时间减少7倍,整体编译时间减少40%。

如何在 beta 版本中测试 rust-lld?

用户可以在当前的 beta 版本(1.90.0-beta.6)中测试 rust-lld,并在遇到问题时通过 GitHub 报告。

rust-lld 与 GNU ld 有什么不同?

rust-lld 并不完全兼容 GNU ld,可能需要额外的链接参数,且在某些情况下可能会出现问题。

在资源受限的环境中使用 LLD 链接器会有什么问题?

在资源受限的环境中,使用并行处理可能会导致性能问题。

如果遇到问题,如何回退到默认链接器?

可以使用 -C linker-features=-lld 标志回退到系统的默认链接器。

➡️

继续阅读