Avatar for the oxc-project user
oxc-project
oxc
Instrumentation
Wall Time
BlogDocsChangelog

perf(allocator): remove `Arc` from `AllocatorPool`

#11760Merged
Comparing
06-16-perf_allocator_remove_arc_from_allocatorpool_
(
f539f64
) with
main
(
17f5dbe
)
CodSpeed Performance Gauge
0%
Improvements
0
Regressions
0
Untouched
38
New
0
Dropped
0
Ignored
0

Benchmarks

Passed

minifier[cal.com.tsx]
tasks/benchmark/benches/minifier.rs::minifier::bench_minifier::minifier[cal.com.tsx]
CodSpeed Performance Gauge
+3%
23.8 ms
23.2 ms
mangler[react.development.js]
tasks/benchmark/benches/minifier.rs::minifier::bench_mangler::mangler[react.development.js]
CodSpeed Performance Gauge
0%
284.2 µs
283.4 µs
mangler[cal.com.tsx]
tasks/benchmark/benches/minifier.rs::minifier::bench_mangler::mangler[cal.com.tsx]
CodSpeed Performance Gauge
0%
3.1 ms
3.1 ms
lexer[RadixUIAdoptionSection.jsx]
tasks/benchmark/benches/lexer.rs::lexer::bench_lexer::lexer[RadixUIAdoptionSection.jsx]
CodSpeed Performance Gauge
0%
20.9 µs
20.9 µs
codegen[RadixUIAdoptionSection.jsx]
tasks/benchmark/benches/codegen.rs::codegen::bench_codegen::codegen[RadixUIAdoptionSection.jsx]
CodSpeed Performance Gauge
0%
132.5 µs
132.3 µs
semantic[binder.ts]
tasks/benchmark/benches/semantic.rs::semantic::bench_semantic::semantic[binder.ts]
CodSpeed Performance Gauge
0%
4.6 ms
4.5 ms
transformer[binder.ts]
tasks/benchmark/benches/transformer.rs::transformer::bench_transformer::transformer[binder.ts]
CodSpeed Performance Gauge
0%
1.5 ms
1.5 ms
semantic[cal.com.tsx]
tasks/benchmark/benches/semantic.rs::semantic::bench_semantic::semantic[cal.com.tsx]
CodSpeed Performance Gauge
0%
29.7 ms
29.7 ms
linter[RadixUIAdoptionSection.jsx]
tasks/benchmark/benches/linter.rs::linter::bench_linter::linter[RadixUIAdoptionSection.jsx]
CodSpeed Performance Gauge
0%
2.6 ms
2.6 ms
lexer[react.development.js]
tasks/benchmark/benches/lexer.rs::lexer::bench_lexer::lexer[react.development.js]
CodSpeed Performance Gauge
0%
384 µs
384 µs
lexer[binder.ts]
tasks/benchmark/benches/lexer.rs::lexer::bench_lexer::lexer[binder.ts]
CodSpeed Performance Gauge
0%
929.9 µs
929.8 µs
linter[react.development.js]
tasks/benchmark/benches/linter.rs::linter::bench_linter::linter[react.development.js]
CodSpeed Performance Gauge
0%
54.8 ms
54.8 ms
codegen[react.development.js]
tasks/benchmark/benches/codegen.rs::codegen::bench_codegen::codegen[react.development.js]
CodSpeed Performance Gauge
0%
2.2 ms
2.2 ms
lexer[cal.com.tsx]
tasks/benchmark/benches/lexer.rs::lexer::bench_lexer::lexer[cal.com.tsx]
CodSpeed Performance Gauge
0%
5.8 ms
5.8 ms
linter[cal.com.tsx]
tasks/benchmark/benches/linter.rs::linter::bench_linter::linter[cal.com.tsx]
CodSpeed Performance Gauge
0%
1.2 s
1.2 s
estree[checker.ts]
tasks/benchmark/benches/parser.rs::parser::bench_estree::estree[checker.ts]
CodSpeed Performance Gauge
0%
102.6 ms
102.6 ms
linter[binder.ts]
tasks/benchmark/benches/linter.rs::linter::bench_linter::linter[binder.ts]
CodSpeed Performance Gauge
0%
149.7 ms
149.7 ms
formatter[cal.com.tsx]
tasks/benchmark/benches/formatter.rs::formatter::bench_formatter::formatter[cal.com.tsx]
CodSpeed Performance Gauge
0%
161 ms
161 ms
parser[cal.com.tsx]
tasks/benchmark/benches/parser.rs::parser::bench_parser::parser[cal.com.tsx]
CodSpeed Performance Gauge
0%
27.2 ms
27.2 ms
parser[react.development.js]
tasks/benchmark/benches/parser.rs::parser::bench_parser::parser[react.development.js]
CodSpeed Performance Gauge
0%
1.4 ms
1.4 ms
minifier[binder.ts]
tasks/benchmark/benches/minifier.rs::minifier::bench_minifier::minifier[binder.ts]
CodSpeed Performance Gauge
0%
3.5 ms
3.5 ms
parser[binder.ts]
tasks/benchmark/benches/parser.rs::parser::bench_parser::parser[binder.ts]
CodSpeed Performance Gauge
0%
3.4 ms
3.4 ms
formatter[binder.ts]
tasks/benchmark/benches/formatter.rs::formatter::bench_formatter::formatter[binder.ts]
CodSpeed Performance Gauge
0%
20.6 ms
20.6 ms
transformer[react.development.js]
tasks/benchmark/benches/transformer.rs::transformer::bench_transformer::transformer[react.development.js]
CodSpeed Performance Gauge
0%
637.9 µs
638.2 µs
transformer[RadixUIAdoptionSection.jsx]
tasks/benchmark/benches/transformer.rs::transformer::bench_transformer::transformer[RadixUIAdoptionSection.jsx]
CodSpeed Performance Gauge
0%
129.3 µs
129.3 µs
formatter[RadixUIAdoptionSection.jsx]
tasks/benchmark/benches/formatter.rs::formatter::bench_formatter::formatter[RadixUIAdoptionSection.jsx]
CodSpeed Performance Gauge
0%
329.2 µs
329.3 µs
minifier[react.development.js]
tasks/benchmark/benches/minifier.rs::minifier::bench_minifier::minifier[react.development.js]
CodSpeed Performance Gauge
0%
1.8 ms
1.8 ms
isolated-declarations[vue-id.ts]
tasks/benchmark/benches/transformer.rs::transformer::bench_isolated_declarations::isolated-declarations[vue-id.ts]
CodSpeed Performance Gauge
0%
57.4 ms
57.5 ms
formatter[react.development.js]
tasks/benchmark/benches/formatter.rs::formatter::bench_formatter::formatter[react.development.js]
CodSpeed Performance Gauge
0%
10.1 ms
10.1 ms
semantic[react.development.js]
tasks/benchmark/benches/semantic.rs::semantic::bench_semantic::semantic[react.development.js]
CodSpeed Performance Gauge
0%
1.8 ms
1.8 ms
parser[RadixUIAdoptionSection.jsx]
tasks/benchmark/benches/parser.rs::parser::bench_parser::parser[RadixUIAdoptionSection.jsx]
CodSpeed Performance Gauge
0%
84.6 µs
84.7 µs
codegen[binder.ts]
tasks/benchmark/benches/codegen.rs::codegen::bench_codegen::codegen[binder.ts]
CodSpeed Performance Gauge
0%
4.8 ms
4.8 ms
mangler[binder.ts]
tasks/benchmark/benches/minifier.rs::minifier::bench_mangler::mangler[binder.ts]
CodSpeed Performance Gauge
0%
807.9 µs
809.4 µs
codegen[cal.com.tsx]
tasks/benchmark/benches/codegen.rs::codegen::bench_codegen::codegen[cal.com.tsx]
CodSpeed Performance Gauge
0%
38.8 ms
38.8 ms
minifier[RadixUIAdoptionSection.jsx]
tasks/benchmark/benches/minifier.rs::minifier::bench_minifier::minifier[RadixUIAdoptionSection.jsx]
CodSpeed Performance Gauge
0%
65.5 µs
65.7 µs
mangler[RadixUIAdoptionSection.jsx]
tasks/benchmark/benches/minifier.rs::minifier::bench_mangler::mangler[RadixUIAdoptionSection.jsx]
CodSpeed Performance Gauge
-1%
14.1 µs
14.2 µs
semantic[RadixUIAdoptionSection.jsx]
tasks/benchmark/benches/semantic.rs::semantic::bench_semantic::semantic[RadixUIAdoptionSection.jsx]
CodSpeed Performance Gauge
-1%
82.4 µs
83.1 µs
transformer[cal.com.tsx]
tasks/benchmark/benches/transformer.rs::transformer::bench_transformer::transformer[cal.com.tsx]
CodSpeed Performance Gauge
-1%
24.6 ms
25 ms

Commits

Click on a commit to change the comparison range
Base
main
17f5dbe
0%
perf(allocator): remove `Arc` from `AllocatorPool` (#11760) Follow-on after #11736. Remove the overhead of `Arc` from `AllocatorPool`. This does introduce more lifetimes in linter, which is unwelcome, but as well as removing the synchronization overhead of `Arc`, I think it reflects the semantics of what we're trying to do more correctly. `AllocatorPool` solely owns the `Vec<Allocator>` pool. It doesn't need to (and shouldn't) share ownership of it with `AllocatorGuard`s, which `Arc` does. So `AllocatorGuard`s can just hold a reference to the `AllocatorPool`.
f539f64
5 days ago
by overlookmotel
© 2025 CodSpeed Technology
Home Terms Privacy Docs