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

perf: store `tokens` as `Vec<Token>` and tighten decode hot loop

#336Closed
Comparing
perf/decode-tight-loop
(
48daf88
) with
main
(
f9a6387
)
CodSpeed Performance Gauge
+4%
Improvement
8
Regression
2
Untouched
6
Skipped
5

Benchmarks

21 total
build_single
benches/simple.rs::sourcemap::bench::builder/SourceMapBuilder
CodSpeed Performance Gauge
-2%
7 µs7.2 µs
lookup_table[real_small]
benches/simple.rs::sourcemap::bench
CodSpeed Performance Gauge
-2%
1.3 µs1.4 µs
parse[real_xlarge]
benches/simple.rs::sourcemap::bench
CodSpeed Performance Gauge
+14%
1.4 ms1.2 ms
parse[real_large]
benches/simple.rs::sourcemap::bench
CodSpeed Performance Gauge
+12%
50.5 µs45.1 µs
parse[real_medium]
benches/simple.rs::sourcemap::bench
CodSpeed Performance Gauge
+10%
14.9 µs13.6 µs
parse[real_small]
benches/simple.rs::sourcemap::bench
CodSpeed Performance Gauge
+4%
11.6 µs11.2 µs
from_json_string_inline
benches/simple.rs::sourcemap::bench::smoke/SourceMap
CodSpeed Performance Gauge
+3%
14.1 µs13.7 µs
serialize[real_small]
benches/simple.rs::sourcemap::bench
CodSpeed Performance Gauge
+3%
4.5 µs4.3 µs
lookup_table[real_medium]
benches/simple.rs::sourcemap::bench
CodSpeed Performance Gauge
+2%
1.4 µs1.4 µs
serialize[real_large]
benches/simple.rs::sourcemap::bench
CodSpeed Performance Gauge
+1%
20.7 µs20.4 µs
serialize[real_medium]
benches/simple.rs::sourcemap::bench
CodSpeed Performance Gauge
+1%
5.1 µs5.1 µs
from_sourcemaps
benches/simple.rs::sourcemap::bench::concat
CodSpeed Performance Gauge
0%
319 µs318.8 µs
serialize[real_xlarge]
benches/simple.rs::sourcemap::bench
CodSpeed Performance Gauge
0%
588.8 µs588.8 µs
add_sourcemap_loop
benches/simple.rs::sourcemap::bench::concat
CodSpeed Performance Gauge
0%
336.8 µs336.8 µs
lookup_table[real_large]
benches/simple.rs::sourcemap::bench
CodSpeed Performance Gauge
0%
4.5 µs4.5 µs
lookup_table[real_xlarge]
benches/simple.rs::sourcemap::bench
CodSpeed Performance Gauge
0%
132.4 µs132.4 µs
to_json_string
benches/simple.rs::sourcemap::bench::SourceMap
Skipped
4.8 µs*
from_json_string
benches/simple.rs::sourcemap::bench::SourceMap
Skipped
16.3 µs*
generate_lookup_table
benches/simple.rs::sourcemap::bench::SourceMap
Skipped
1.3 µs*
add_name_add_source_and_content
benches/simple.rs::sourcemap::bench::SourceMapBuilder
Skipped
1.6 µs*
to_json
benches/simple.rs::sourcemap::bench::SourceMap
Skipped
5.6 µs*

Commits

Click on a commit to change the comparison range
Base
main
f9a6387
+2.65%
perf: store `tokens` as `Vec<Token>` and tighten decode hot loop
3449b79
9 days ago
by Boshen
+1.61%
perf(decode): drop `,`/`;` pre-scan, use `(len/2)+1` upper bound with unsafe push
48daf88
9 days ago
by Boshen
© 2026 CodSpeed Technology
Home Terms Privacy Docs