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

Use `ThinVec` in AST to shrink `Stmt`

#25361
Comparing
micha/thin-vec-stmt
(
fecd00b
) with
main
(
0909c7e
)
CodSpeed Performance Gauge
+7%
Improvement
5
Untouched
118

Benchmarks

123 total
parser[numpy/globals.py]
crates/ruff_benchmark/benches/parser.rs::parser::benchmark_parser
CodSpeed Performance Gauge
+9%
19.7 KB18 KB
parser[numpy/ctypeslib.py]
crates/ruff_benchmark/benches/parser.rs::parser::benchmark_parser
CodSpeed Performance Gauge
+7%
200.6 KB186.7 KB
parser[pydantic/types.py]
crates/ruff_benchmark/benches/parser.rs::parser::benchmark_parser
CodSpeed Performance Gauge
+6%
427.9 KB403.2 KB
parser[large/dataset.py]
crates/ruff_benchmark/benches/parser.rs::parser::benchmark_parser
CodSpeed Performance Gauge
+6%
912.2 KB862.2 KB
parser[unicode/pypinyin.py]
crates/ruff_benchmark/benches/parser.rs::parser::benchmark_parser
CodSpeed Performance Gauge
+6%
58.7 KB55.5 KB
parser[large/dataset.py]
crates/ruff_benchmark/benches/parser.rs::parser::benchmark_parser
CodSpeed Performance Gauge
+4%
3.6 ms3.5 ms
ty_micro[pandas_tdd]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_pandas_tdd
CodSpeed Performance Gauge
+3%
46.9 MB45.6 MB
ty_micro[gradual_vararg_call]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_gradual_vararg_call
CodSpeed Performance Gauge
+3%
15.6 MB15.2 MB
ty_micro[very_large_tuple]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_very_large_tuple
CodSpeed Performance Gauge
+3%
15.8 MB15.4 MB
ty_micro[complex_constrained_attributes_2]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_complex_constrained_attributes_2
CodSpeed Performance Gauge
+3%
16.1 MB15.6 MB
ty_micro[complex_constrained_attributes_1]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_complex_constrained_attributes_1
CodSpeed Performance Gauge
+3%
16.1 MB15.7 MB
ty_micro[vararg_parameter_type_accumulation]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_vararg_parameter_type_accumulation
CodSpeed Performance Gauge
+3%
13.8 MB13.4 MB
ty_micro[literal_match_fallthrough]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_literal_match_fallthrough
CodSpeed Performance Gauge
+3%
14.2 MB13.8 MB
ty_micro[many_tuple_assignments]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_tuple_implicit_instance_attributes
CodSpeed Performance Gauge
+3%
16.2 MB15.8 MB
DateType
crates/ruff_benchmark/benches/ty.rs::project::datetype::project
CodSpeed Performance Gauge
+3%
26.5 MB25.8 MB
ty_micro[large_isinstance_narrowing]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_large_isinstance_narrowing
CodSpeed Performance Gauge
+2%
17.1 MB16.7 MB
ty_micro[many_enum_members_2]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_many_enum_members_2
CodSpeed Performance Gauge
+2%
17.2 MB16.8 MB
ty_micro[many_string_assignments]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_many_string_assignments
CodSpeed Performance Gauge
+2%
17.1 MB16.7 MB
linter/default-rules[large/dataset.py]
crates/ruff_benchmark/benches/linter.rs::default_rules::benchmark_default_rules
CodSpeed Performance Gauge
+2%
4.3 ms4.2 ms
ty_micro[many_tuple_assignments]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_many_tuple_assignments
CodSpeed Performance Gauge
+2%
14.8 MB14.4 MB
ty_micro[complex_constrained_attributes_3]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_complex_constrained_attributes_3
CodSpeed Performance Gauge
+2%
17.6 MB17.2 MB
ty_micro[many_protocol_members_mismatch]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_many_protocol_members_mismatch
CodSpeed Performance Gauge
+2%
22.3 MB21.8 MB
ty_micro[many_enum_members]
crates/ruff_benchmark/benches/ty.rs::micro::benchmark_many_enum_members
CodSpeed Performance Gauge
+2%
18.5 MB18.1 MB
ty_check_file[cold]
crates/ruff_benchmark/benches/ty.rs::check_file::benchmark_cold
CodSpeed Performance Gauge
+2%
22.7 MB22.2 MB
parser[pydantic/types.py]
crates/ruff_benchmark/benches/parser.rs::parser::benchmark_parser
CodSpeed Performance Gauge
+2%
1.4 ms1.4 ms

Commits

Click on a commit to change the comparison range
Base
main
0909c7e
+6.36%
Use `ThinVec` in AST to shrink `Stmt`
1f67490
23 hours ago
by MichaReiser
+0.51%
Use ThinVec in more places
9046c25
23 hours ago
by MichaReiser
0%
Use ThinVec directly for size-reducing AST fields
baf0d88
23 hours ago
by MichaReiser
0%
Declare AST sequence storage in the schema
c26b4bd
20 hours ago
by MichaReiser
+6.77%
Shrink parser collections stored in the AST
54418a3
20 hours ago
by MichaReiser
-6.77%
Remove shrink_to_fit
fecd00b
7 hours ago
by MichaReiser
© 2026 CodSpeed Technology
Home Terms Privacy Docs