|  c2bc15bc15 
		
			Some checks are pending
		
		
	 CI / Determine changes (push) Waiting to run CI / cargo fmt (push) Waiting to run CI / cargo clippy (push) Blocked by required conditions CI / cargo test (linux) (push) Blocked by required conditions CI / cargo test (linux, release) (push) Blocked by required conditions CI / cargo test (windows) (push) Blocked by required conditions CI / cargo test (wasm) (push) Blocked by required conditions CI / cargo build (release) (push) Waiting to run CI / cargo build (msrv) (push) Blocked by required conditions CI / cargo fuzz build (push) Blocked by required conditions CI / fuzz parser (push) Blocked by required conditions CI / test scripts (push) Blocked by required conditions CI / ecosystem (push) Blocked by required conditions CI / Fuzz for new ty panics (push) Blocked by required conditions CI / cargo shear (push) Blocked by required conditions CI / python package (push) Waiting to run CI / pre-commit (push) Waiting to run CI / mkdocs (push) Waiting to run CI / formatter instabilities and black similarity (push) Blocked by required conditions CI / test ruff-lsp (push) Blocked by required conditions CI / check playground (push) Blocked by required conditions CI / benchmarks-instrumented (push) Blocked by required conditions CI / benchmarks-walltime (push) Blocked by required conditions [ty Playground] Release / publish (push) Waiting to run | ||
|---|---|---|
| .. | ||
| dark.svg | ||
| graph-spec.json | ||
| light.svg | ||
| pyproject.toml | ||
| README.md | ||
| run.sh | ||
| run_all.sh | ||
| run_comparisons.sh | ||
| run_formatter.sh | ||
| run_plugins.sh | ||
| run_silent.sh | ||
| setup.sh | ||
| uv.lock | ||
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.
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".