oxc-project
oxc-resolver
Blog
Docs
Changelog
Blog
Docs
Changelog
Overview
Branches
Benchmarks
Runs
Performance History
Latest Results
chore: release v11.14.0
release-plz-2025-11-13T15-36-53Z
7 hours ago
perf: remove Result from `CachedPathImpl::canonicalized` (#847) 232 -> 144 bytes part of #846
main
7 hours ago
perf: remove Result from `CachedPathImpl::canonicalized` 232 -> 144 bytes part of #846
11-18-perf_remove_result_from_cachedpathimpl_canonicalized_
7 hours ago
perf: fast path for node_modules/package (#839) In cjs, the spec states ``` LOAD_NODE_MODULES(X, START) 1. let DIRS = NODE_MODULES_PATHS(START) 2. for each DIR in DIRS: a. LOAD_PACKAGE_EXPORTS(X, DIR) b. LOAD_AS_FILE(DIR/X) c. LOAD_AS_DIRECTORY(DIR/X) ``` `2.b. LOAD_AS_FILE(DIR/X)` never occurs in modern package managers, and I do not recall any circumstance that creates a lone `node_modules/X.js` file. This reduces a package lookup from ``` node_modules/X.js node_modules/X.json node_modules/X.node node_modules/X/index.js ``` to ``` node_modules/X/ (if X failed) node_modules/X.js node_modules/X.json node_modules/X.node ``` NOTE: ESM does not have `LOAD_AS_FILE(DIR/X)` logic. --- This change was introduced from - `https://github.com/oxc-project/oxc-resolver/pull/592` - `https://github.com/unrs/unrs-resolver/pull/116` These PRs do not explain a real case for `node_modules/X.js` to accept such performance regression.
main
18 hours ago
chore: release v11.14.0
release-plz-2025-11-13T15-36-53Z
18 hours ago
perf: fast path for node_modules/package (#839) In cjs, the spec states ``` LOAD_NODE_MODULES(X, START) 1. let DIRS = NODE_MODULES_PATHS(START) 2. for each DIR in DIRS: a. LOAD_PACKAGE_EXPORTS(X, DIR) b. LOAD_AS_FILE(DIR/X) c. LOAD_AS_DIRECTORY(DIR/X) ``` `2.b. LOAD_AS_FILE(DIR/X)` never occurs in modern package managers, and I do not recall any circumstance that creates a lone `node_modules/X.js` file. This reduces a package lookup from ``` node_modules/X.js node_modules/X.json node_modules/X.node node_modules/X/index.js ``` to ``` node_modules/X/ (if X failed) node_modules/X.js node_modules/X.json node_modules/X.node ``` NOTE: ESM does not have `LOAD_AS_FILE(DIR/X)` logic. --- This change was introduced from - `https://github.com/oxc-project/oxc-resolver/pull/592` - `https://github.com/unrs/unrs-resolver/pull/116` These PRs do not explain a real case for `node_modules/X.js` to accept such performance regression.
11-16-perf_fast_path_for_node_modules_package
18 hours ago
chore: release v11.14.0
release-plz-2025-11-13T15-36-53Z
20 hours ago
perf: cache canonicalization results at every recursion level (#843) Broke in https://github.com/oxc-project/oxc-resolver/pull/834 Moves path.canonicalized.get_or_init() from canonicalize_impl() into the recursive canonicalize_with_visited() function. This enables caching of parent directory canonicalization results, which are then reused when canonicalizing sibling paths. Performance impact (measured with many example on monitor-oxc): - Total filesystem syscalls: 124,071 ā 39,296 (-68.3%) - symlink_metadata calls: 99,169 ā 17,503 (-82.4%) - read_link calls: 6,127 ā 3,018 (-50.7%) The optimization is particularly effective for: - Projects with deep node_modules structures - pnpm workspaces (heavy symlink usage) - Parallel resolution of multiple packages All existing tests pass with no behavior changes.
main
20 hours ago
Active Branches
chore: release v11.14.0
last run
7 hours ago
#832
CodSpeed Performance Gauge
0%
perf: use arena with RwLock for package.json storage
last run
1 day ago
#838
CodSpeed Performance Gauge
-4%
feat(cache): Add index-based cache generation with Arc-free parent tree
last run
8 days ago
#822
CodSpeed Performance Gauge
-16%
Ā© 2025 CodSpeed Technology
Home
Terms
Privacy
Docs