Avatar for the astral-sh user
astral-sh
ruff
BlogDocsChangelog

[parser] Bound iterative expression chains to avoid stack overflow

#25462
Comparing
samuelcolvin:fix-deep-expression-stack-overflow
(
55cfe55
) with
main
(
5a6c811
)
CodSpeed Performance Gauge
0%
Untouched
125

Benchmarks

125 total
sympy
crates/ruff_benchmark/benches/ty_walltime.rs
CodSpeed Performance Gauge
+1%
93.3 s92.2 s
pydantic
crates/ruff_benchmark/benches/ty_walltime.rs
CodSpeed Performance Gauge
+1%
34.5 s34.1 s
colour_science
crates/ruff_benchmark/benches/ty_walltime.rs
CodSpeed Performance Gauge
+1%
52.3 s51.8 s
pandas
crates/ruff_benchmark/benches/ty_walltime.rs
CodSpeed Performance Gauge
0%
82.6 s82.4 s
tanjun
crates/ruff_benchmark/benches/ty_walltime.rs
CodSpeed Performance Gauge
0%
3.7 s3.7 s
freqtrade
crates/ruff_benchmark/benches/ty_walltime.rs
CodSpeed Performance Gauge
0%
11.4 s11.3 s
multithreaded
crates/ruff_benchmark/benches/ty_walltime.rs
CodSpeed Performance Gauge
0%
2.3 s2.3 s
linter/default-rules[numpy/globals.py]
crates/ruff_benchmark/benches/linter.rs::default_rules::benchmark_default_rules
CodSpeed Performance Gauge
0%
212.4 µs211.9 µs
ty_micro[pydantic_core_schema_dict]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_pydantic_core_schema_dict
CodSpeed Performance Gauge
0%
420.1 ms419.2 ms
ty_micro[typeis_narrowing]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_typeis_narrowing
CodSpeed Performance Gauge
0%
202.5 ms202.1 ms
ty_micro[typevar_mapping_accumulation]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_typevar_mapping_large_accumulation
CodSpeed Performance Gauge
0%
1.2 s1.2 s
linter/default-rules[unicode/pypinyin.py]
crates/ruff_benchmark/benches/linter.rs::default_rules::benchmark_default_rules
CodSpeed Performance Gauge
0%
413.3 µs412.5 µs
static_frame
crates/ruff_benchmark/benches/ty_walltime.rs
CodSpeed Performance Gauge
0%
26.1 s26.1 s
linter/all-with-preview-rules[numpy/globals.py]
crates/ruff_benchmark/benches/linter.rs::preview_rules::benchmark_preview_rules
CodSpeed Performance Gauge
0%
854.5 µs853.7 µs
linter/default-rules[large/dataset.py]
crates/ruff_benchmark/benches/linter.rs::default_rules::benchmark_default_rules
CodSpeed Performance Gauge
0%
4.4 ms4.4 ms
linter/default-rules[numpy/ctypeslib.py]
crates/ruff_benchmark/benches/linter.rs::default_rules::benchmark_default_rules
CodSpeed Performance Gauge
0%
1 ms1 ms
linter/all-rules[numpy/globals.py]
crates/ruff_benchmark/benches/linter.rs::all_rules::benchmark_all_rules
CodSpeed Performance Gauge
0%
759.8 µs759.3 µs
linter/all-with-preview-rules[unicode/pypinyin.py]
crates/ruff_benchmark/benches/linter.rs::preview_rules::benchmark_preview_rules
CodSpeed Performance Gauge
0%
2.3 ms2.3 ms
linter/all-rules[unicode/pypinyin.py]
crates/ruff_benchmark/benches/linter.rs::all_rules::benchmark_all_rules
CodSpeed Performance Gauge
0%
2 ms2 ms
linter/all-rules[large/dataset.py]
crates/ruff_benchmark/benches/linter.rs::all_rules::benchmark_all_rules
CodSpeed Performance Gauge
0%
19.5 ms19.5 ms
linter/default-rules[pydantic/types.py]
crates/ruff_benchmark/benches/linter.rs::default_rules::benchmark_default_rules
CodSpeed Performance Gauge
0%
2.2 ms2.2 ms
linter/all-with-preview-rules[numpy/ctypeslib.py]
crates/ruff_benchmark/benches/linter.rs::preview_rules::benchmark_preview_rules
CodSpeed Performance Gauge
0%
5.4 ms5.3 ms
linter/all-rules[pydantic/types.py]
crates/ruff_benchmark/benches/linter.rs::all_rules::benchmark_all_rules
CodSpeed Performance Gauge
0%
8.9 ms8.9 ms
linter/all-with-preview-rules[pydantic/types.py]
crates/ruff_benchmark/benches/linter.rs::preview_rules::benchmark_preview_rules
CodSpeed Performance Gauge
0%
10.4 ms10.4 ms
formatter[large/dataset.py]
crates/ruff_benchmark/benches/formatter.rs::formatter::benchmark_formatter
CodSpeed Performance Gauge
0%
9.2 ms9.2 ms

Commits

Click on a commit to change the comparison range
Base
main
5a6c811
-0.02%
[parser] Bound iterative expression chains to avoid stack overflow
ac05686
13 hours ago
by samuelcolvin
+0.04%
[ty] Update tests for bounded expression chains
55cfe55
2 hours ago
by samuelcolvin
© 2026 CodSpeed Technology
Home Terms Privacy Docs