oxc-project
fast-glob
Blog
Docs
Changelog
Blog
Docs
Changelog
Overview
Branches
Benchmarks
Runs
Performance History
Latest Results
chore: release v1.0.2
release-plz-2026-04-16T23-22-51Z
3 days ago
chore: release v1.0.2
release-plz-2026-04-16T23-22-51Z
3 days ago
chore(deps): update github actions (#129) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
main
3 days ago
chore(deps): update github actions
renovate/github-actions
3 days ago
chore: release v1.0.2
release-plz-2026-04-16T23-22-51Z
6 days ago
perf: extend anchor search to brace branches and non-globstar * Two follow-ups to the `**/literal` anchor optimization: 1. When `**/` is followed by `{`, peek into the active brace branch via brace_stack to recover the branch's first literal character and use it as the anchor. This is the common shape for patterns like `**/{src,lib}/...` — during the recursive match for a branch, repeated backtracks into the wildcard now jump straight to the next plausible position instead of walking one path segment at a time. 2. For a non-globstar `*` followed by a literal, scan the current path segment for that literal in one pass via `skip_to_anchor_in_segment`. Same idea as `**/x`, but bounded by the next separator since `*` does not cross `/`. simple_match: 48 ns -> 45 ns (~6% faster) brace_expansion: 208 ns -> 140 ns (~33% faster) Cumulative across the three perf PRs: 92 -> 45 ns (~51%) on simple_match, 218 -> 140 ns (~36%) on brace_expansion.
perf/brace-and-segment-anchor
7 days ago
perf: skip to next literal anchor after **/ in one pass Patterns like `**/needle.txt` previously backtracked one path segment at a time: after each globstar attempt, `skip_to_separator` advanced the candidate position past the next `/`, the outer loop tried the literal anchor (`n`) at that position, mismatched, and re-entered the `*` arm to repeat. When the first character after `**/` is a plain literal (not a glob metacharacter), search the path directly for `/<anchor>` and jump straight to that position. `wildcard.path_index` is still set to the position past the next separator after the match, so subsequent backtracks resume from a different segment — preserving original semantics. simple_match: 82 ns -> 48 ns (~41% faster) brace_expansion: unchanged (covered by the follow-up PR)
perf/globstar-literal-anchor-search
7 days ago
perf: inline is_separator and use get_unchecked in glob_match_from - Replace std::path::is_separator(c as char) with a local is_separator(c: u8) helper. Avoids the char cast + ASCII check inside the hot wildcard/literal-match loops. - Read glob/path bytes via get_unchecked after explicit bounds checks. Hoist glob.len() and path.len() into locals so the compiler doesn't have to re-prove them every iteration. - Replace saturating_sub with a direct < match_start + 3 comparison to drop the saturating-subtract intrinsic from the hot path. simple_match: 92 ns -> 82 ns (~11% faster) brace_expansion: 218 ns -> 208 ns (~5% faster)
perf/inline-is-separator-and-get-unchecked
7 days ago
Latest Branches
CodSpeed Performance Gauge
0%
chore: release v1.0.2
#113
3 days ago
add0682
release-plz-2026-04-16T23-22-51Z
CodSpeed Performance Gauge
0%
chore(deps): update github actions
#129
3 days ago
7a91a36
renovate/github-actions
CodSpeed Performance Gauge
+1%
perf: extend anchor search to brace branches and non-globstar *
#127
7 days ago
a5a994f
perf/brace-and-segment-anchor
© 2026 CodSpeed Technology
Home
Terms
Privacy
Docs