Fable 将 Pylint 转换为 Rust 实现
Prylint 是一个将 Python 代码检查工具 Pylint 重写为 Rust 语言的开源项目。该项目旨在利用 Rust 的高性能和安全性优势,为 Python 开发者提供更快的代码检查体验。通过将核心逻辑从 Python 迁移到 Rust,Prylint 在保持与 Pylint 兼容的同时,显著提升了执行速度。
背景速读
- Pylint 是最流行的 Python 静态代码检查工具之一,用于发现代码错误、不符合编码规范等问题;但它完全用 Python 编写,在大规模项目上运行较慢。
- Fable 是一家专注于用 Rust 重写高频 Python 工具的公司。他们将 Pylint 核心逻辑翻译为 Rust,生成的新工具在保持相同检测规则的同时,运行速度可提升数倍甚至数十倍。
- 这次重写不仅是语言替换:Rust 版本利用了编译器前端(如 tree-sitter)对代码进行精确解析,而原版 Python Pylint 依赖较慢的 AST 遍历。
- 这一趋势(用 Rust 重写 Python 基础设施工具)已有先例,例如 Ruff(用 Rust 重写的 Python linter 和格式化工具)在 2023–2024 年获得了广泛采用。