Avatar for the astral-sh user
astral-sh
ruff
Instrumentation
Wall Time
BlogDocsChangelog

[ty] Homogeneous and mixed tuples

#18600Merged
Comparing
dcreager/tuple-spec
(
e5aa429
) with
main
(
d926628
)
CodSpeed Performance Gauge
-11%
Improvements
0
Regressions
1
Untouched
36
New
0
Dropped
0
Ignored
0

Benchmarks

Passed

attrs
crates/ruff_benchmark/benches/ty.rs::project::attrs::project::attrs
CodSpeed Performance Gauge
0%
364 ms
363.6 ms
formatter[numpy/globals.py]
crates/ruff_benchmark/benches/formatter.rs::formatter::benchmark_formatter::formatter[numpy/globals.py]
CodSpeed Performance Gauge
0%
241.7 µs
241.7 µs
ty_micro[many_string_assignments]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_many_string_assignments::ty_micro[many_string_assignments]
CodSpeed Performance Gauge
0%
67.2 ms
67.2 ms
parser[unicode/pypinyin.py]
crates/ruff_benchmark/benches/parser.rs::parser::benchmark_parser::parser[unicode/pypinyin.py]
CodSpeed Performance Gauge
0%
320.9 µs
320.9 µs
parser[numpy/ctypeslib.py]
crates/ruff_benchmark/benches/parser.rs::parser::benchmark_parser::parser[numpy/ctypeslib.py]
CodSpeed Performance Gauge
0%
931.2 µs
931.1 µs
linter/default-rules[large/dataset.py]
crates/ruff_benchmark/benches/linter.rs::default_rules::benchmark_default_rules::linter/default-rules[large/dataset.py]
CodSpeed Performance Gauge
0%
4 ms
4 ms
formatter[pydantic/types.py]
crates/ruff_benchmark/benches/formatter.rs::formatter::benchmark_formatter::formatter[pydantic/types.py]
CodSpeed Performance Gauge
0%
3.6 ms
3.6 ms
formatter[large/dataset.py]
crates/ruff_benchmark/benches/formatter.rs::formatter::benchmark_formatter::formatter[large/dataset.py]
CodSpeed Performance Gauge
0%
9.5 ms
9.5 ms
lexer[unicode/pypinyin.py]
crates/ruff_benchmark/benches/lexer.rs::lexer::benchmark_lexer::lexer[unicode/pypinyin.py]
CodSpeed Performance Gauge
0%
75.3 µs
75.3 µs
parser[pydantic/types.py]
crates/ruff_benchmark/benches/parser.rs::parser::benchmark_parser::parser[pydantic/types.py]
CodSpeed Performance Gauge
0%
2 ms
2 ms
formatter[numpy/ctypeslib.py]
crates/ruff_benchmark/benches/formatter.rs::formatter::benchmark_formatter::formatter[numpy/ctypeslib.py]
CodSpeed Performance Gauge
0%
1.9 ms
1.9 ms
formatter[unicode/pypinyin.py]
crates/ruff_benchmark/benches/formatter.rs::formatter::benchmark_formatter::formatter[unicode/pypinyin.py]
CodSpeed Performance Gauge
0%
664.2 µs
664.2 µs
parser[large/dataset.py]
crates/ruff_benchmark/benches/parser.rs::parser::benchmark_parser::parser[large/dataset.py]
CodSpeed Performance Gauge
0%
5 ms
5 ms
lexer[large/dataset.py]
crates/ruff_benchmark/benches/lexer.rs::lexer::benchmark_lexer::lexer[large/dataset.py]
CodSpeed Performance Gauge
0%
1.1 ms
1.1 ms
parser[numpy/globals.py]
crates/ruff_benchmark/benches/parser.rs::parser::benchmark_parser::parser[numpy/globals.py]
CodSpeed Performance Gauge
0%
105.8 µs
105.8 µs
lexer[pydantic/types.py]
crates/ruff_benchmark/benches/lexer.rs::lexer::benchmark_lexer::lexer[pydantic/types.py]
CodSpeed Performance Gauge
0%
488.3 µs
488.3 µs
lexer[numpy/ctypeslib.py]
crates/ruff_benchmark/benches/lexer.rs::lexer::benchmark_lexer::lexer[numpy/ctypeslib.py]
CodSpeed Performance Gauge
0%
218.3 µs
218.4 µs
linter/default-rules[numpy/ctypeslib.py]
crates/ruff_benchmark/benches/linter.rs::default_rules::benchmark_default_rules::linter/default-rules[numpy/ctypeslib.py]
CodSpeed Performance Gauge
0%
966.5 µs
967.1 µs
linter/all-rules[numpy/globals.py]
crates/ruff_benchmark/benches/linter.rs::all_rules::benchmark_all_rules::linter/all-rules[numpy/globals.py]
CodSpeed Performance Gauge
0%
704.7 µs
705.2 µs
linter/default-rules[pydantic/types.py]
crates/ruff_benchmark/benches/linter.rs::default_rules::benchmark_default_rules::linter/default-rules[pydantic/types.py]
CodSpeed Performance Gauge
0%
2 ms
2 ms
linter/all-rules[numpy/ctypeslib.py]
crates/ruff_benchmark/benches/linter.rs::all_rules::benchmark_all_rules::linter/all-rules[numpy/ctypeslib.py]
CodSpeed Performance Gauge
0%
4.1 ms
4.1 ms
linter/all-with-preview-rules[numpy/ctypeslib.py]
crates/ruff_benchmark/benches/linter.rs::preview_rules::benchmark_preview_rules::linter/all-with-preview-rules[numpy/ctypeslib.py]
CodSpeed Performance Gauge
0%
4.8 ms
4.8 ms
lexer[numpy/globals.py]
crates/ruff_benchmark/benches/lexer.rs::lexer::benchmark_lexer::lexer[numpy/globals.py]
CodSpeed Performance Gauge
0%
29.1 µs
29.1 µs
linter/all-with-preview-rules[numpy/globals.py]
crates/ruff_benchmark/benches/linter.rs::preview_rules::benchmark_preview_rules::linter/all-with-preview-rules[numpy/globals.py]
CodSpeed Performance Gauge
0%
799.9 µs
800.8 µs
linter/all-with-preview-rules[pydantic/types.py]
crates/ruff_benchmark/benches/linter.rs::preview_rules::benchmark_preview_rules::linter/all-with-preview-rules[pydantic/types.py]
CodSpeed Performance Gauge
0%
9.9 ms
9.9 ms
anyio
crates/ruff_benchmark/benches/ty.rs::project::anyio::project::anyio
CodSpeed Performance Gauge
0%
878.3 ms
879.4 ms
linter/default-rules[numpy/globals.py]
crates/ruff_benchmark/benches/linter.rs::default_rules::benchmark_default_rules::linter/default-rules[numpy/globals.py]
CodSpeed Performance Gauge
0%
195.9 µs
196.2 µs
linter/all-rules[pydantic/types.py]
crates/ruff_benchmark/benches/linter.rs::all_rules::benchmark_all_rules::linter/all-rules[pydantic/types.py]
CodSpeed Performance Gauge
0%
8.4 ms
8.4 ms
linter/all-rules[large/dataset.py]
crates/ruff_benchmark/benches/linter.rs::all_rules::benchmark_all_rules::linter/all-rules[large/dataset.py]
CodSpeed Performance Gauge
0%
17.3 ms
17.3 ms
linter/default-rules[unicode/pypinyin.py]
crates/ruff_benchmark/benches/linter.rs::default_rules::benchmark_default_rules::linter/default-rules[unicode/pypinyin.py]
CodSpeed Performance Gauge
0%
380.1 µs
380.7 µs
linter/all-with-preview-rules[large/dataset.py]
crates/ruff_benchmark/benches/linter.rs::preview_rules::benchmark_preview_rules::linter/all-with-preview-rules[large/dataset.py]
CodSpeed Performance Gauge
0%
20.9 ms
20.9 ms
ty_check_file[incremental]
crates/ruff_benchmark/benches/ty.rs::check_file::benchmark_incremental::ty_check_file[incremental]
CodSpeed Performance Gauge
0%
5.7 ms
5.8 ms
linter/all-with-preview-rules[unicode/pypinyin.py]
crates/ruff_benchmark/benches/linter.rs::preview_rules::benchmark_preview_rules::linter/all-with-preview-rules[unicode/pypinyin.py]
CodSpeed Performance Gauge
0%
2.1 ms
2.1 ms
linter/all-rules[unicode/pypinyin.py]
crates/ruff_benchmark/benches/linter.rs::all_rules::benchmark_all_rules::linter/all-rules[unicode/pypinyin.py]
CodSpeed Performance Gauge
-1%
1.8 ms
1.8 ms
hydra-zen
crates/ruff_benchmark/benches/ty.rs::project::hydra::project::hydra-zen
CodSpeed Performance Gauge
-1%
727.7 ms
734.5 ms
ty_check_file[cold]
crates/ruff_benchmark/benches/ty.rs::check_file::benchmark_cold::ty_check_file[cold]
CodSpeed Performance Gauge
-1%
120.4 ms
122.1 ms
ty_micro[many_tuple_assignments]Regression
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_many_tuple_assignments::ty_micro[many_tuple_assignments]
CodSpeed Performance Gauge
-11%
180.7 ms
203.7 ms

Commits

Click on a commit to change the comparison range
Base
main
d926628
0%
use variable tuples
0a84630
27 days ago
by dcreager
-6%
Merge branch 'main' into dcreager/tuple-spec * main: [`pylint`] De-emphasize `__hash__ = Parent.__hash__` (`PLW1641`) (#18613) [`flake8-pyi`] Avoid syntax error in the case of starred and keyword arguments (`PYI059`) (#18611) [ty] Add support for global __debug__ constant (#18540) [`ruff`] Preserve parentheses around `deque` in fix for `unnecessary-empty-iterable-within-deque-call` (`RUF037`) (#18598) [`refurb`] Parenthesize lambda and ternary expressions in iter (`FURB122`, `FURB142`) (#18592)
3f71700
26 days ago
by dcreager
-8%
mdlint
a4755e0
24 days ago
by dcreager
0%
remove fwomp!!!
b69a00c
24 days ago
by dcreager
+1%
don't expand variable-length tuples during overload resolution
14e225a
24 days ago
by dcreager
0%
fix tests
9a50239
20 days ago
by dcreager
0%
todo: nominal instance when instantiating tuple; include suffix when indexing
2bad8f2
20 days ago
by dcreager
+2%
regen
2c0ed94
17 days ago
by dcreager
0%
index into suffix
7a059d7
17 days ago
by dcreager
0%
clippy
45cd117
17 days ago
by dcreager
0%
Merge branch 'main' into dcreager/tuple-spec * main: (21 commits) [`flake8-logging`] Avoid false positive for `exc_info=True` outside `logger.exception` (`LOG014`) (#18737) [`flake8-pie`] Small docs fix to `PIE794` (#18829) [`pylint`] Ignore __init__.py files in (PLC0414) (#18400) Avoid generating diagnostics with per-file ignores (#18801) [`flake8-simplify`] Fix false negatives for shadowed bindings (`SIM910`, `SIM911`) (#18794) [ty] Fix panics when pulling types for `ClassVar` or `Final` parameterized with >1 argument (#18824) [`pylint`] add fix safety section (`PLR1714`) (#18415) [Perflint] Small docs improvement to `PERF401` (#18786) [`pylint`] Avoid flattening nested `min`/`max` when outer call has single argument (`PLW3301`) (#16885) [`ruff`] Added `cls.__dict__.get('__annotations__')` check (`RUF063`) (#18233) [ty] Use `HashTable` in `PlaceTable` (#18819) docs: Correct collections-named-tuple example to use PascalCase assignment (#16884) [ty] ecosystem-analyzer workflow (#18719) [ty] Add support for `@staticmethod`s (#18809) unnecessary_dict_kwargs doc - a note on type checking benefits (#18666) [`flake8-pytest-style`] Mark autofix for `PT001` and `PT023` as unsafe if there's comments in the decorator (#18792) [ty] Surface matched overload diagnostic directly (#18452) [ty] Report when a dataclass contains more than one `KW_ONLY` field (#18731) [`flake8-pie`] Add fix safety section to `PIE794` (#18802) [`pycodestyle`] Add fix safety section to `W291` and `W293` (#18800) ...
18d7e88
16 days ago
by dcreager
0%
Merge branch 'main' into dcreager/tuple-spec * main: Handle parenthesized arguments in `remove_argument` (#18805) Unify helpers modules (#18835) Normalize some docs sections (#18831) [`flake8_pyi`] Fix `PYI041`'s fix causing TypeError with `None | None | ...` (#18637)
e5aa429
16 days ago
by dcreager
© 2025 CodSpeed Technology
Home Terms Privacy Docs