Skip to content

test(performance): compare shared upstream filesystem workloads - #30

Merged
CoderSerio merged 13 commits into
perf/native-batch-overheadsfrom
perf/competitor-benchmarks
Oct 1, 2026
Merged

CoderSerio merged 13 commits into
perf/native-batch-overheadsfrom
perf/competitor-benchmarks

Conversation

@CoderSerio

@CoderSerio CoderSerio commented Sep 30, 2026 •

Copy link
Copy Markdown
Member

Problem and result

Our existing Node comparisons did not show how Vooya performs against specialized filesystem libraries. This adds reproducible shared workloads adapted from pinned fdir and tinyglobby benchmarks, compares Node, fdir, fast-glob, tinyglobby, glob and Vooya, and publishes complete Node 22/24 evidence including losses.

Based on #29 (perf/native-batch-overheads). The integrated change includes all 26 API comparison tables, sequential reproduction and review corrections for glob semantics, Windows scan metadata and actual native-binary provenance. Runtime concurrency defaults are unchanged.

Benchmark contract

  • Preserve upstream benchmark snapshots and MIT notices; pin the typescript-eslint source fixture and verify its path/type/size manifest.
  • Compare relative strings for matching files and directories, with explicit dotfile and symlink rules. Check exact expected results and duplicates for every warmup/sample; report native versus Node-fallback routes.
  • Run tiny, real-repository and wide-directory fixtures in sync/async modes: 30 cases per runtime, two warmups and ten rotating-order samples per implementation.
  • Commit raw duration/CPU/RSS samples, versions and source/native-binary hashes. RSS deltas are not peak memory; warm-cache macOS results do not establish Windows/Linux speed.
  • Add cross-platform adapter correctness to CI without timing thresholds.

Findings and follow-up

On the real repository, synchronous full-tree glob wins against the tested synchronous competitors, while asynchronous glob trails the fastest fdir/tinyglobby result. Default recursive readdir also trails fdir. A separate public-API concurrency sweep reduces Vooya readdir wall time by 61–62% with four workers and CPU time by 85–86%, bringing it close to fdir. Small differences do not establish a repeatable lead. Tiny and wide cases expose additional losses. Documentation includes every result and prioritizes profiling scheduling and allocation before changing defaults.

Validation

  • Release native build passed.
  • Full Node 22/24 suites: 468 tests passed on each, plus the final 12-test publication/adapter contract suite on each runtime.
  • New competitor adapter contract passed on Node 22 and Node 24.
  • Typecheck, lint, formatting, documentation build and git diff checks passed.
  • All six final benchmark jobs completed sequentially with every result validated; generated tables and source hashes were independently checked. Final platform CI passed all 14 jobs.

Final verified code tree: 27d9beaac4576bdb74ddafb4a7bfceb58ff7bb06. Passing cross-platform CI. Integration preserves this exact tree.

@coderabbitai

coderabbitai Bot commented Sep 30, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: 23cf074e-009c-4282-937b-9b6d62d8b9ca

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Autopilot is currently an internal CodeRabbit preview.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@CoderSerio
CoderSerio marked this pull request as ready for review October 1, 2026 05:57
test(performance): publish reproducible API comparisons and fix review findings
@CoderSerio
CoderSerio merged commit de00dd6 into perf/native-batch-overheads Oct 1, 2026
7 checks passed
@CoderSerio
CoderSerio deleted the perf/competitor-benchmarks branch October 1, 2026 06:04
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.

1 participant