mirror of
https://github.com/astral-sh/ruff.git
synced 2025-07-27 23:13:55 +00:00
25 lines
1.1 KiB
Markdown
25 lines
1.1 KiB
Markdown
# benchmarks
|
|
|
|
Utilities for benchmarking Ruff.
|
|
|
|
## Getting Started
|
|
|
|
Run `./scripts/benchmarks/setup.sh` to clone the benchmarking target (CPython).
|
|
|
|
If you're looking to benchmark Ruff against other tools, you'll also need to run `uv venv --project ./scripts/benchmarks`,
|
|
activate the venv and finally `uv sync --project ./scripts/benchmarks` 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](https://vega.github.io/editor/#/edited).
|
|
|
|
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"`.
|