Skip to content

dirsql performance suite ​

  • Commit: 462b3c6afccefeb91cf93153141a82a330c318e3
  • Date: 2026-10-14T01:49:05Z
  • Machine: platform: Linux-7.0.0-28-generic-x86_64-with-glibc2.39, cpu: AMD Ryzen 9 9950X 16-Core Processor, cpus: 32
  • Versions: bash: GNU bash, version 5.2.21(1)-release (x86_64-pc-linux-gnu), find: find (GNU findutils) 4.9.0, rg: ripgrep 14.1.0, xargs: xargs (GNU findutils) 4.9.0, inotifywait: inotifywait 3.22.6.0
  • Method: 100 paired runs per case, interleaved; ratios are dirsql over the native after each side's startup, median across pairs
  • Cadence: rerun with just bench-suite after a change to how dirsql walks, matches, queries or serializes, and when this report is more than 30 days old
CaseFastest nativedirsql / fastestSpreadvs 1.0x
./*rg1.43x83%over
./**fd1.39x28%over
./**/*.jsfd2.16x60%over
./**/*.mdfd1.61x119%over
./**/*.md (dotfiles)fd1.81x135%over
./**/*.md (symlinks)bash-globstar0.12x95%ok
./**/.*fd0.92x106%ok
./**/[[:digit:]]*.mdfd1.45x96%over
./**/[a-c]*.mdfd1.94x361%over
./**/file?.mdfd1.84x185%over
./**/node_modules/pkg/*.jsfd1.30x38%over
./**/{a,b}*.mdfd2.06x32%over
./*/*.mdfd2.10x22%over
./.cache/**/*.mdfd1.88x58%over
./a/b/**/*.mdfd2.64x144%over
./docs/rg1.55x169%over
SELECT path, size, mtime FROM './**/*'fd+xargs-stat0.32x108%ok
dossierfind+sort0.72x82%ok
frontmatterfd+xargs-P2.41x36%over
joinfind+join0.42x55%ok
jsonljq+xargs-P1.73x61%over
notebookpython0.87x52%ok
transcriptsfind+python0.53x39%ok
watchinotifywait1.15x80%over

./* ​

dirsql median 0.665s

NativeMedian sdirsql / nativeMinMaxSpread
bash-glob14.4630.04x0.04x0.04x20%
fd0.5021.23x0.49x1.54x85%
find0.6051.01x0.74x1.06x32%
rg0.4271.43x0.42x1.59x83%

./** ​

dirsql median 0.267s

NativeMedian sdirsql / nativeMinMaxSpread
fd0.1521.39x1.24x1.62x28%
git-ls-files0.5590.38x0.30x0.46x44%
rg0.1961.09x0.95x1.53x53%

./**/*.js ​

dirsql median 0.692s

NativeMedian sdirsql / nativeMinMaxSpread
fd0.3032.16x1.43x2.74x60%
find1.1810.55x0.34x0.73x71%
rg0.5671.14x0.94x1.44x44%

./**/*.md ​

dirsql median 0.300s

NativeMedian sdirsql / nativeMinMaxSpread
bash-globstar24.2900.01x0.00x0.06x510%
fd0.1661.61x0.42x2.33x119%
find0.6850.48x0.12x0.74x128%
rg0.2680.99x0.68x1.65x98%

./**/*.md (dotfiles) ​

dirsql median 0.092s

NativeMedian sdirsql / nativeMinMaxSpread
fd0.0281.81x0.37x2.83x135%
find0.2120.25x0.08x0.32x99%
rg0.0421.23x1.02x1.88x70%

dirsql median 0.194s

NativeMedian sdirsql / nativeMinMaxSpread
bash-globstar1.2660.12x0.08x0.19x95%

./**/.* ​

dirsql median 0.067s

NativeMedian sdirsql / nativeMinMaxSpread
fd0.0280.92x0.57x1.54x106%
find0.1700.15x0.07x0.24x120%
rg0.0290.88x0.66x1.63x110%

./**/[[:digit:]]*.md ​

dirsql median 0.128s

NativeMedian sdirsql / nativeMinMaxSpread
fd0.0591.45x0.34x1.73x96%
find0.5380.16x0.08x0.19x67%
rg0.1290.67x0.58x0.92x52%

./**/[a-c]*.md ​

dirsql median 0.191s

NativeMedian sdirsql / nativeMinMaxSpread
fd0.0761.94x1.24x8.24x361%
find0.5360.27x0.23x0.92x254%
rg0.1371.08x0.75x4.50x345%

./**/file?.md ​

dirsql median 0.130s

NativeMedian sdirsql / nativeMinMaxSpread
fd0.0471.84x1.47x4.88x185%
find0.5140.17x0.14x0.45x187%
rg0.1280.68x0.53x1.75x180%

./**/node_modules/pkg/*.js ​

dirsql median 0.507s

NativeMedian sdirsql / nativeMinMaxSpread
fd0.3551.30x1.02x1.51x38%
find1.3210.35x0.30x0.42x33%
rg0.3801.22x1.06x1.42x30%

./**/{a,b}*.md ​

dirsql median 0.175s

NativeMedian sdirsql / nativeMinMaxSpread
fd0.0642.06x1.81x2.48x32%
find0.5670.23x0.21x0.27x23%
rg0.1340.99x0.88x1.20x32%

./*/*.md ​

dirsql median 0.617s

NativeMedian sdirsql / nativeMinMaxSpread
fd0.2722.10x1.89x2.34x22%
find1.2860.44x0.38x0.47x20%
rg0.4771.20x1.13x1.33x16%

./.cache/**/*.md ​

dirsql median 0.069s

NativeMedian sdirsql / nativeMinMaxSpread
fd0.0151.88x1.47x2.56x58%
find0.0950.29x0.24x0.37x45%
rg0.0261.05x0.86x1.60x71%

./a/b/**/*.md ​

dirsql median 0.149s

NativeMedian sdirsql / nativeMinMaxSpread
bash-globstar1.6930.06x0.03x0.14x171%
fd0.0402.64x1.73x5.54x144%
find0.1610.66x0.27x1.25x148%
rg0.0482.23x1.15x3.78x118%

./docs/ ​

dirsql median 0.099s

NativeMedian sdirsql / nativeMinMaxSpread
bash-glob0.3610.13x0.08x0.27x141%
fd0.0301.53x0.83x3.42x170%
find0.0500.89x0.45x1.82x154%
rg0.0291.55x0.79x3.41x169%

SELECT path, size, mtime FROM './**/*' ​

dirsql median 0.602s

NativeMedian sdirsql / nativeMinMaxSpread
fd+xargs-stat1.7430.32x0.22x0.58x108%
find2.1140.26x0.17x0.52x134%

dossier ​

dirsql median 1.270s

NativeMedian sdirsql / nativeMinMaxSpread
find+sort1.6750.72x0.37x0.96x82%

frontmatter ​

dirsql median 0.262s

NativeMedian sdirsql / nativeMinMaxSpread
fd+xargs-P0.0922.41x2.06x2.93x36%
find+awk1.2870.17x0.16x0.21x31%
find+xargs-P0.1052.15x1.74x2.96x56%

join ​

dirsql median 0.628s

NativeMedian sdirsql / nativeMinMaxSpread
find+join1.3580.42x0.33x0.56x55%

jsonl ​

dirsql median 0.890s

NativeMedian sdirsql / nativeMinMaxSpread
jq1.8390.46x0.31x0.57x56%
jq+xargs-P0.4861.73x1.03x2.08x61%

notebook ​

dirsql median 1.462s

NativeMedian sdirsql / nativeMinMaxSpread
python1.6010.87x0.65x1.11x52%

transcripts ​

dirsql median 0.669s

NativeMedian sdirsql / nativeMinMaxSpread
fd+xargs-P1.3270.47x0.40x0.59x40%
find+python1.1890.53x0.43x0.64x39%
find+xargs-P1.3170.48x0.40x0.57x35%

watch ​

dirsql median 0.000s

NativeMedian sdirsql / nativeMinMaxSpread
inotifywait0.0001.15x0.73x1.65x80%

Released under the MIT License.