Skip to content

Test recursive and prefixed globs against find at speed of light - #1323

Merged
thekevinscott merged 1 commit into
mainfrom
claude/1306-glob-speed
Oct 6, 2026
Merged

thekevinscott merged 1 commit into
mainfrom
claude/1306-glob-speed

Conversation

@thekevinbot

Copy link
Copy Markdown
Collaborator

Summary

Speed-of-light e2e test for recursive globs: './**/*.md' over a deep, wide tree, and './a/b/**/*.md', where a/b holds a quarter of the tree.

  • The tree mixes in .txt files, dotfiles and dot-named directories, which globstar with dotglob off must not return.
  • Native is find, pruning dot-named entries. It beats bash globstar here.

Fixes #1306

Status: dirsql misses the bar

Rows match native for both globs. Speed does not.

Test run on main (startup 0.04s):

Glob native dirsql ratio
'./**/*.md' 2.149s 7.182s 3.3x
'./a/b/**/*.md' 0.975s 6.380s 6.5x

Direct timing on a 1.6M-file tree built by the test's own builder (release CLI, warm cache):

Query find main with #1319 and #1321
./**/*.md 0.55s 2.09s 1.43s
count(*) over ./**/*.md 1.21s 0.80s
./a/b/**/*.md 0.21-0.37s 0.56s 0.35s

Fixes land in PRs stacked on this one.

E2E Verification

N/A: test-only change. The new e2e test is the red. No receipt, because no package source changed.

@thekevinscott
thekevinscott merged commit b697ffe into main Oct 6, 2026
46 checks passed
@thekevinscott
thekevinscott deleted the claude/1306-glob-speed branch October 6, 2026 00:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Glob speed: recursive '**' and a literal prefix

2 participants