Rust: Clippy 性能状态更新

主要观点:此页面不使用追踪器和 cookies,作者致力于让 Clippy 运行更快,介绍了对慢 linter 进行性能优化的过程及相关成果,包括不同项目结构下 cargo check 和 cargo clippy 的运行时间差异,还提到接下来要实现并行 linting 及在增量编译方面的想法,最后表达了对维护 Clippy 项目的满足及感谢。
关键信息:

  • 页面不使用追踪器和 cookies,可通过Mastodon联系。
  • 加入 Clippy 后开始对慢 linter 进行性能优化,通过多种方式如 lint 过滤等提高性能。
  • 展示了 cargo check 和 cargo clippy 的运行时间差异图表,不同项目结构因素影响差异,如项目是二进制还是库、依赖数量等。
  • 手动 benchmark 对比 tokio 在不同版本下的运行时间,优化后减少 38.042%,相当于节省 8.43 亿条指令,且现在的数字更优。
  • 接下来要实现并行 linting 和在增量编译方面进行研究。
    重要细节:
  • 作者喜欢让程序更快,原因包括这是个谜题、无需高端硬件编译程序、减少能源消耗。
  • 优化过程中包括从 lint 过滤到优化稀疏使用的例程等。
  • 提到 benchmark 工具在开始优化时未存在,是手动 benchmark 的 tokio 数据。
  • 提到 rust-analyzer 团队的 Salsa 项目在增量编译方面有研究。
  • 表达了对维护 Clippy 项目的满足及感谢用户的支持。
阅读 30
0 条评论