oxc-project
oxc
BlogDocsChangelog

perf(semantic): use `Atom` instead of `CompactStr` for `UnresolvedReferencesStack`

#4401Merged
Comparing
07-21-perf_semantic_use_atom_instead_of_compactstr_for_unresolved_references
(
1b51511
) with
main
(
bc8d4e5
)
CodSpeed Performance Gauge
+3%
Improvements
1
Untouched
31

Benchmarks

Improved

semantic[checker.ts]
tasks/benchmark/benches/semantic.rs::semantic::bench_semantic
CodSpeed Performance Gauge
+3%
82.9 ms80.2 ms

Passed

transformer[checker.ts]
tasks/benchmark/benches/transformer.rs::transformer::bench_transformer
CodSpeed Performance Gauge
+3%
151.7 ms147.7 ms
semantic[cal.com.tsx]
tasks/benchmark/benches/semantic.rs::semantic::bench_semantic
CodSpeed Performance Gauge
+3%
48.8 ms47.5 ms
semantic[antd.js]
tasks/benchmark/benches/semantic.rs::semantic::bench_semantic
CodSpeed Performance Gauge
+2%
134.3 ms131.4 ms
transformer[pdf.mjs]
tasks/benchmark/benches/transformer.rs::transformer::bench_transformer
CodSpeed Performance Gauge
+2%
39.9 ms39.2 ms
transformer[antd.js]
tasks/benchmark/benches/transformer.rs::transformer::bench_transformer
CodSpeed Performance Gauge
+2%
257.6 ms253.1 ms
semantic[RadixUIAdoptionSection.jsx]
tasks/benchmark/benches/semantic.rs::semantic::bench_semantic
CodSpeed Performance Gauge
+2%
102.8 µs101.1 µs
semantic[pdf.mjs]
tasks/benchmark/benches/semantic.rs::semantic::bench_semantic
CodSpeed Performance Gauge
+2%
22 ms21.6 ms
minifier[react.development.js]
tasks/benchmark/benches/minifier.rs::minifier::bench_minifier
CodSpeed Performance Gauge
+1%
3.5 ms3.5 ms
minifier[antd.js]
tasks/benchmark/benches/minifier.rs::minifier::bench_minifier
CodSpeed Performance Gauge
+1%
304 ms300.3 ms
minifier[typescript.js]
tasks/benchmark/benches/minifier.rs::minifier::bench_minifier
CodSpeed Performance Gauge
+1%
615.1 ms608.3 ms
transformer[cal.com.tsx]
tasks/benchmark/benches/transformer.rs::transformer::bench_transformer
CodSpeed Performance Gauge
+1%
65.3 ms64.6 ms
prepass[react.development.js]
tasks/benchmark/benches/minifier.rs::minifier::bench_passes
CodSpeed Performance Gauge
+1%
208.9 µs207.6 µs
transformer[RadixUIAdoptionSection.jsx]
tasks/benchmark/benches/transformer.rs::transformer::bench_transformer
CodSpeed Performance Gauge
+1%
230.2 µs228.9 µs
sourcemap[cal.com.tsx]
tasks/benchmark/benches/sourcemap.rs::sourcemap::bench_sourcemap
CodSpeed Performance Gauge
+1%
57.1 ms56.8 ms
lexer[RadixUIAdoptionSection.jsx]
tasks/benchmark/benches/lexer.rs::lexer::bench_lexer
CodSpeed Performance Gauge
0%
22.7 µs22.6 µs
parser[cal.com.tsx]
tasks/benchmark/benches/parser.rs::parser::bench_parser
CodSpeed Performance Gauge
0%
24 ms24 ms
lexer[cal.com.tsx]
tasks/benchmark/benches/lexer.rs::lexer::bench_lexer
CodSpeed Performance Gauge
0%
5 ms5 ms
parser[checker.ts]
tasks/benchmark/benches/parser.rs::parser::bench_parser
CodSpeed Performance Gauge
0%
52.4 ms52.4 ms
isolated-declarations[vue-id.ts]
tasks/benchmark/benches/isolated_declarations.rs::transformer::bench_isolated_declarations
CodSpeed Performance Gauge
0%
379.3 ms379.3 ms
parser[pdf.mjs]
tasks/benchmark/benches/parser.rs::parser::bench_parser
CodSpeed Performance Gauge
0%
17.1 ms17.1 ms
parser[antd.js]
tasks/benchmark/benches/parser.rs::parser::bench_parser
CodSpeed Performance Gauge
0%
103.5 ms103.5 ms
codegen[checker.ts]
tasks/benchmark/benches/codegen.rs::codegen::bench_codegen
CodSpeed Performance Gauge
0%
18.3 ms18.3 ms
lexer[checker.ts]
tasks/benchmark/benches/lexer.rs::lexer::bench_lexer
CodSpeed Performance Gauge
0%
12 ms12 ms
lexer[pdf.mjs]
tasks/benchmark/benches/lexer.rs::lexer::bench_lexer
CodSpeed Performance Gauge
0%
3.2 ms3.2 ms
prepass[typescript.js]
tasks/benchmark/benches/minifier.rs::minifier::bench_passes
CodSpeed Performance Gauge
0%
28 ms28 ms
codegen_sourcemap[checker.ts]
tasks/benchmark/benches/codegen.rs::codegen::bench_codegen
CodSpeed Performance Gauge
0%
75.1 ms75.1 ms
lexer[antd.js]
tasks/benchmark/benches/lexer.rs::lexer::bench_lexer
CodSpeed Performance Gauge
0%
20.1 ms20.1 ms
parser[RadixUIAdoptionSection.jsx]
tasks/benchmark/benches/parser.rs::parser::bench_parser
CodSpeed Performance Gauge
0%
76.8 µs76.8 µs
prepass[antd.js]
tasks/benchmark/benches/minifier.rs::minifier::bench_passes
CodSpeed Performance Gauge
0%
15.8 ms15.8 ms
linter[cal.com.tsx]
tasks/benchmark/benches/linter.rs::linter::bench_linter
CodSpeed Performance Gauge
0%
766.3 ms768.6 ms
linter[checker.ts]
tasks/benchmark/benches/linter.rs::linter::bench_linter
CodSpeed Performance Gauge
0%
1.3 s1.3 s

Commits

Click on a commit to change the comparison range
Base
main
bc8d4e5
+3.39%
perf(semantic): use `Atom` instead of `CompactStr` for `UnresolvedReferencesStack` (#4401) related: #4394 The `UnresolvedReferencesStack` is only used for resolving references, and the `Atom` clone is cheap, So we can safely change `CompactStr`to `Atom`
1b51511
1 year ago
by Dunqing
© 2025 CodSpeed Technology
Home Terms Privacy Docs