oxc-project
oxc-resolver
BlogDocsChangelog

perf: cache all package.json resolutions for faster package.json lookup

#853
Comparing
11-18-perf_cache_all_package.json_resolutions
(
af996ce
) with
perf-package-json-arena
(
47a157d
)
CodSpeed Performance Gauge
-8%
Improvements
2
Regressions
3
Untouched
6
Skipped
5

Benchmarks

Skipped (5)

Failed

resolver_real[single-thread]
benches/resolver.rs::resolver::bench_resolver_real
Regression
CodSpeed Performance Gauge
-3%
465.5 µs481.2 µs
resolver_real[multi-thread]
benches/resolver.rs::resolver::bench_resolver_real
Regression
CodSpeed Performance Gauge
-8%
470.9 µs512.5 µs
resolver_memory[single-thread]
benches/resolver.rs::resolver::bench_resolver_memory
Regression
CodSpeed Performance Gauge
-4%
465.7 µs483 µs

Improved

resolver_real[resolve from symlinks]
benches/resolver.rs::resolver::bench_resolver_real
CodSpeed Performance Gauge
+5%
58.2 ms55.2 ms
resolver_memory[resolve from symlinks]
benches/resolver.rs::resolver::bench_resolver_memory
CodSpeed Performance Gauge
+4%
57.3 ms55.1 ms

Passed

resolver_memory[drop]
benches/resolver.rs::resolver::bench_resolver_memory
CodSpeed Performance Gauge
0%
84.8 ms84.9 ms
small
benches/resolver.rs::resolver::bench_package_json_deserialization::package_json_deserialization
CodSpeed Performance Gauge
-1%
11.6 µs11.7 µs
resolver_memory[multi-thread]
benches/resolver.rs::resolver::bench_resolver_memory
CodSpeed Performance Gauge
-1%
472.3 µs475.7 µs
complex_real
benches/resolver.rs::resolver::bench_package_json_deserialization::package_json_deserialization
CodSpeed Performance Gauge
-2%
22.6 µs23 µs
medium
benches/resolver.rs::resolver::bench_package_json_deserialization::package_json_deserialization
CodSpeed Performance Gauge
-2%
16.8 µs17.2 µs
large
benches/resolver.rs::resolver::bench_package_json_deserialization::package_json_deserialization
CodSpeed Performance Gauge
-2%
26.2 µs26.8 µs

Commits

Click on a commit to change the comparison range
Base
perf-package-json-arena
47a157d
-8.11%
perf: cache all package.json resolutions for faster package.json lookup Previously `find_package_json` needs to traverse up path parents, which involves a lot of `once_cell.get_or_try_init()` calls.
af996ce
11 hours ago
by Boshen
© 2025 CodSpeed Technology
Home Terms Privacy Docs