首页 > Python资讯 博客日记
Ruff更新到v0.0.281(Rust 编写的高性能 Python 代码分析工具)
2023-08-02 17:58:26Python资讯围观311次
Ruff 是基于 Rust 编写的高性能 Python 代码分析工具(即 Linter),用于检查代码中的语法错误、编码规范问题、潜在的逻辑问题和代码质量问题等,可以提供实时反馈和自动修复建议。其主打的特性是高性能,宣称比现有的同类工具快 10~100 倍。
Ruff 核心特性
通过 pip 安装
支持
pyproject.toml
兼容 Python 3.11
超过 500 条内置规则,与 Flake8 内置的规则集近乎对等
重新实现了数十个 Flake8 插件,如 flake8-bugbear、flake8-comprehensions 等
支持自动修复,可自动纠正错误(例如,删除未使用的导入)
内置缓存,可避免重复分析未更改的文件
支持 VS Code、Pycharm、Neovim、Sublime Text、Emacs 等编辑器
对 monorepo 友好,具有分层和级联配置
Ruff 刚刚发布了 v0.0.281 版本。
主要变化是提升词法分析器速度。据称 Ruff 的词法分析器现在比旧版本快 2-3 倍:
group v0.0.280 v0.0.281 ----- -------- -------- lexer/large/dataset.py 2.18 665.9±5.64µs 61.1 MB/sec 1.00 304.9±3.79µs 133.4 MB/sec lexer/numpy/ctypeslib.py 2.39 154.4±0.84µs 107.8 MB/sec 1.00 64.5±0.61µs 258.1 MB/sec lexer/numpy/globals.py 2.89 18.1±0.14µs 163.3 MB/sec 1.00 6.3±0.06µs 471.8 MB/sec lexer/pydantic/types.py 2.57 326.4±2.23µs 78.1 MB/sec 1.00 127.2±0.71µs 200.5 MB/sec
词法分析器负责将 Python 源代码标记为 token 流,然后解析器使用这些标记来构建抽象语法树 (AST)。词法分析器是 Ruff 分析管道中的第一步,在 Ruff 分析的每个文件上运行。
因此优化词法分析器性能不仅可以提升 linter 性能,还可以提升未来利用 Ruff 词法分析器的工具(例如 Ruff 格式化程序)的性能。
新的词法分析器利用更多缓存友好的数据结构,执行更少的分配,并包括对纯 ASCII 源代码的优化。
其他变化包括忽略行尾# ruff: noqa
注释,以及新增更多规则。
标签:
相关文章
最新发布
- 解密 Python 的 staticmethod 函数:静态方法的全面解析!
- Python第三方GDAL库安装(离线库下载资源)
- 华为OD机试D卷 --符号运算--24年OD统一考试(Java & JS & Python & C & C++)
- Python酷库之旅-第三方库Pandas(023)
- 如何借助宝塔界面部署flask框架以及机器学习的算法到服务器(linux命令行+图形化结合),其他基于python的框架如django等也可参考
- 【已解决】Python解决TypeError: __init__() missing 1 required positional argument: ‘comment‘报错
- 全网最适合入门的面向对象编程教程:21 类和对象的 Python 实现-多文件的组织:模块 module 和包 package
- Python小白菜鸟从入门到精通
- Python中的注释_python注释
- 华为OD机试D卷 --污染水域--24年OD统一考试(Java & JS & Python & C & C++)
点击排行
- 版本匹配指南:Numpy版本和Python版本的对应关系
- 相关性分析——Pearson相关系数+热力图(附data和Python完整代码)
- Python 可视化 web 神器:streamlit、Gradio、dash、nicegui;低代码 Python Web 框架:PyWebIO
- 版本匹配指南:PyTorch版本、torchvision 版本和Python版本的对应关系
- 在Java中使用XxlCrawler时防止被反爬的几种方式
- PyPy JIT编译器背后的奥秘(揭开PyPy高性能Python的编译优化技术)
- Could not build wheels for llama-cpp-python, which is required to install pyproject.toml-based proj
- Python分析程序性能指南 - 3种内存和CPU诊断方法助你优化代码(掌握Python内存和CPU分析技巧)