![]() ## Summary With the release of [`v0.4.0`](https://github.com/astral-sh/ruff/releases/tag/v0.4.0) of `ruff`, I noticed that some of `ruff`'s dependencies were not updated to their latest versions. The [`ruff-pre-commit`](https://github.com/astral-sh/ruff-pre-commit) package released [`v0.4.0`](https://github.com/astral-sh/ruff-pre-commit/releases/tag/v0.4.0) at the same time `ruff` was updated, but `ruff` still referenced `v0.3.7` of the package, not the newly updated version. I updated the `ruff-pre-commit` reference to be `v0.4.0`. In a similar light, I noticed that the version of the [`dill`](https://github.com/uqfoundation/dill) package being used was not the latest version. I bumped `dill` from version `0.3.7` to `0.3.8`, which now [fully supports Python 3.12](https://github.com/uqfoundation/dill/releases/tag/0.3.8). ## Related Issues Resolves #11024 |
||
---|---|---|
.. | ||
dark.svg | ||
graph-spec.json | ||
light.svg | ||
poetry.lock | ||
pyproject.toml | ||
README.md | ||
run.sh | ||
run_all.sh | ||
run_comparisons.sh | ||
run_formatter.sh | ||
run_plugins.sh | ||
run_silent.sh | ||
setup.sh |
benchmarks
Utilities for benchmarking Ruff.
Getting Started
Run ./scripts/benchmarks/run.sh
to clone the benchmarking target (CPython).
If you're looking to benchmark Ruff against other tools, you'll also need to run poetry install
to create a virtual environment with the required dependencies.
Running Benchmarks
Run ./scripts/benchmarks/run.sh
to run Ruff over the target repo (CPython). The
./scripts/benchmarks
folder contains a few other benchmarks (e.g., scripts/benchmarks/run_comparisons.sh
compares Ruff to a variety of other tools).
Generating Plots
The Vega specification for the benchmark plot depicted in the root README can be found at
scripts/benchmarks/graph-spec.json
. You can render this JSON spec in the Vega Editor.
The images seen in the README are generated by exporting the rendered Vega spec as SVG (at around
688px wide) and manually bolding the Ruff title and benchmark time. The dark mode variant is
generated by changing the fill from fill="#333333"
to fill="#C9D1D9"
.