ruff/crates/ruff_benchmark
Douglas Creager c02bd11b93
[ty] Infer typevar specializations for `Callable` types (#21551)
This is a first stab at solving
https://github.com/astral-sh/ty/issues/500, at least in part, with the
old solver. We add a new `TypeRelation` that lets us opt into using
constraint sets to describe when a typevar is assignability to some
type, and then use that to calculate a constraint set that describes
when two callable types are assignable. If the callable types contain
typevars, that constraint set will describe their valid specializations.
We can then walk through all of the ways the constraint set can be
satisfied, and record a type mapping in the old solver for each one.

---------

Co-authored-by: Carl Meyer <carl@astral.sh>
Co-authored-by: Alex Waygood <alex.waygood@gmail.com>
2025-12-16 09:16:49 -08:00
..
benches [ty] Infer typevar specializations for `Callable` types (#21551) 2025-12-16 09:16:49 -08:00
resources Fixing more spelling errors (#16926) 2025-03-23 10:55:14 -07:00
src Shard ty walltime benchmarks (#20791) 2025-10-10 07:55:50 +02:00
Cargo.toml Fix cargo shear in CI (#21609) 2025-11-24 05:35:34 +00:00
README.md Update contributing docs to use `cargo bench -p ruff_benchmark` (#9535) 2024-01-15 14:57:30 -05:00

README.md

Ruff Benchmarks

The ruff_benchmark crate benchmarks the linter and the formatter on individual files:

# Run once on the "baseline".
cargo bench -p ruff_benchmark -- --save-baseline=main

# Compare against the "baseline".
cargo bench -p ruff_benchmark -- --baseline=main

# Run the lexer benchmarks.
cargo bench -p ruff_benchmark lexer -- --baseline=main

See CONTRIBUTING.md on how to use these benchmarks.