GitHub - davidlattimore/wild:一个用于 Linux 的非常快速的链接器

主要观点:Wild 是一个旨在为迭代开发提供快速链接的链接器,计划最终实现增量链接但尚未实现,开发中可用于 x86 - 64 Linux 上的开发目的,生产构建推荐使用 GNU ld 或 LLD;提供了多种安装方式,包括从 GitHub 发布版、Cargo binstall、从 crates.io 构建最新版本、从 git 头构建等;可作为默认 Rust 链接器,通过在~/.cargo/config.toml中配置实现;有 Q&A 部分解答关于为何开发、支持的平台架构、未支持的功能、如何验证使用 Wild 链接等问题;有基准测试展示在不同平台和条件下与其他链接器的速度对比;介绍了链接 Rust 代码的命令;包含贡献、聊天服务器、进一步阅读、赞助和许可证等相关信息。
关键信息

  • 安装方式多样,如从 GitHub 发布版可复制命令或下载 tarball 手动放置wild二进制文件;Cargo binstall 可直接安装;从 crates.io 构建最新版本等。
  • 默认链接器配置在~/.cargo/config.toml中,指定linker = "clang"rustflags = ["-C", "link-arg=--ld-path=wild"]
  • 支持的平台架构有 x86 - 64 on Linux、ARM64 on Linux、RISC - V (riscv64gc) on Linux;支持输出多种类型的二进制文件,如静态链接、动态链接等,但存在未支持的功能如增量链接、更多架构等。
  • 基准测试展示了在不同平台和条件下与 lld、mold 等链接器的速度对比,如在 x86 - 64 上无调试信息时 wild 比 lld 快约 2.33 倍等。
  • 有贡献、聊天服务器、进一步阅读、赞助和许可证等相关内容。
    重要细节
  • 在不同平台和条件下的测试数据,如在 David Lattimore 的笔记本上 x86 - 64 平台的各种链接器测试结果,包括有无调试信息的对比。
  • 各个安装方式的具体命令和操作步骤,如从 git 头构建的命令cargo install --locked --bin wild --git https://github.com/davidlattimore/wild.git wild-linker
  • Q&A 部分对各种问题的详细解答,如为什么开发 Wild 链接器、未支持的功能等。
  • 许可证为 Apache License, Version 2.0 或 MIT license 可选。
阅读 50
0 条评论