Avatar for the oxc-project user
oxc-project
oxc
BlogDocsChangelog

perf(formatter): POC store `AstNode`s on stack instead of in arena

#21931
Comparing
om/04-29-formatter-no-alloc
(
b6574dd
) with
om/04-29-ci_alloc_add_formatter_to_just_allocs_
(
6ec43fc
)
CodSpeed Performance Gauge
+16%
Improvement
9
Untouched
35
Skipped
7

Benchmarks

51 total
formatter[types.ts]
tasks/benchmark/benches/formatter.rs::formatter::bench_formatter
CodSpeed Performance Gauge
+16%
14.6 ms12.6 ms
formatter[App.tsx]
tasks/benchmark/benches/formatter.rs::formatter::bench_formatter
CodSpeed Performance Gauge
+14%
49.5 ms43.6 ms
formatter[Search.tsx]
tasks/benchmark/benches/formatter.rs::formatter::bench_formatter
CodSpeed Performance Gauge
+11%
1.9 ms1.7 ms
formatter[next.ts]
tasks/benchmark/benches/formatter.rs::formatter::bench_formatter
CodSpeed Performance Gauge
+10%
2.8 ms2.5 ms
formatter[index.tsx]
tasks/benchmark/benches/formatter.rs::formatter::bench_formatter
CodSpeed Performance Gauge
+10%
4.6 ms4.2 ms
formatter[core.js]
tasks/benchmark/benches/formatter.rs::formatter::bench_formatter
CodSpeed Performance Gauge
+10%
2 ms1.8 ms
formatter[handle-comments.js]
tasks/benchmark/benches/formatter.rs::formatter::bench_formatter
CodSpeed Performance Gauge
+10%
3.6 ms3.3 ms
formatter[RadixUIAdoptionSection.jsx]
tasks/benchmark/benches/formatter.rs::formatter::bench_formatter
CodSpeed Performance Gauge
+8%
422.8 µs389.8 µs
formatter[errors.ts]
tasks/benchmark/benches/formatter.rs::formatter::bench_formatter
CodSpeed Performance Gauge
+8%
777.4 µs720.5 µs
minifier[cal.com.tsx]
tasks/benchmark/benches/minifier.rs::minifier::bench_minifier
CodSpeed Performance Gauge
+1%
37.1 ms36.6 ms
mangler[RadixUIAdoptionSection.jsx_keep_names]
tasks/benchmark/benches/minifier.rs::minifier::bench_mangler
CodSpeed Performance Gauge
+1%
19.8 µs19.6 µs
pipeline[cal.com.tsx]
tasks/benchmark/benches/pipeline.rs::pipeline::bench_pipeline
CodSpeed Performance Gauge
0%
136.1 ms135.6 ms
codegen[react.development.js]
tasks/benchmark/benches/codegen.rs::codegen::bench_codegen
CodSpeed Performance Gauge
0%
2 ms2 ms
minifier[binder.ts]
tasks/benchmark/benches/minifier.rs::minifier::bench_minifier
CodSpeed Performance Gauge
0%
4 ms3.9 ms
mangler[cal.com.tsx]
tasks/benchmark/benches/minifier.rs::minifier::bench_mangler
CodSpeed Performance Gauge
0%
2.7 ms2.7 ms
transformer[binder.ts]
tasks/benchmark/benches/transformer.rs::transformer::bench_transformer
CodSpeed Performance Gauge
0%
1.7 ms1.7 ms
mangler[binder.ts]
tasks/benchmark/benches/minifier.rs::minifier::bench_mangler
CodSpeed Performance Gauge
0%
653 µs652.6 µs
transformer[react.development.js]
tasks/benchmark/benches/transformer.rs::transformer::bench_transformer
CodSpeed Performance Gauge
0%
728.4 µs728.1 µs
pipeline[react.development.js]
tasks/benchmark/benches/pipeline.rs::pipeline::bench_pipeline
CodSpeed Performance Gauge
0%
6.8 ms6.8 ms
lexer[binder.ts]
tasks/benchmark/benches/lexer.rs::lexer::bench_lexer
CodSpeed Performance Gauge
0%
934.8 µs934.7 µs
semantic[binder.ts]
tasks/benchmark/benches/semantic.rs::semantic::bench_semantic
CodSpeed Performance Gauge
0%
2.9 ms2.9 ms
parser[cal.com.tsx]
tasks/benchmark/benches/parser.rs::parser::bench_parser
CodSpeed Performance Gauge
0%
25.7 ms25.7 ms
estree[checker.ts]
tasks/benchmark/benches/parser.rs::parser::bench_estree
CodSpeed Performance Gauge
0%
95.5 ms95.5 ms
lexer[cal.com.tsx]
tasks/benchmark/benches/lexer.rs::lexer::bench_lexer
CodSpeed Performance Gauge
0%
5.9 ms5.9 ms
lexer[RadixUIAdoptionSection.jsx]
tasks/benchmark/benches/lexer.rs::lexer::bench_lexer
CodSpeed Performance Gauge
0%
22.2 µs22.2 µs

Commits

Click on a commit to change the comparison range
Base
om/04-29-ci_alloc_add_formatter_to_just_allocs_
6ec43fc
+16.39%
mem usage measures
b6574dd
1 day ago
by overlookmotel
© 2026 CodSpeed Technology
Home Terms Privacy Docs