Repository navigation
Reduce basic traversal overhead and defer native-case metadata - #1143
Merged
Merged
Conversation
This was referenced Nov 7, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Reduce unnecessary setup, allocation, expression-evaluation and metadata work in ordinary searches. In the retained 3-worker Mac comparison, large native-case name filtering takes 72% less time than the preceding XFF binary and 24% less than GNU find. Smaller listing improvements and remaining regressions are documented alongside that gain.
The PR includes the production changes, their reproducible benchmark tooling and retained findings, and a viewer correction so experiment sliders progress from the baseline to the candidate with visible labels.
AG;DR
Implementation
-printand-print0, preserving complete borrowed records, mixed delimiters and bounded retention.Measurement and analysis
extended-production-v1suite: exact file listing, native-case name filtering, metadata/date output, content regex and TAR member filtering. Every invocation checks the full record multiset against an independent fixture oracle.//xff/cli:xff_full --config=clang_release --config=xff_full. Immediately copy the executable resolved by the same configuredcquery; retain source/tree hashes, executable SHA-256, build inputs and actual ThinLTO link actions. Finish builds before timing.Three-core interpretation
Three cores are the primary target; one core diagnoses overhead and ten cores checks scaling/contention. This completed focused campaign covers one and three only. Ten-core qualification remains outstanding and no values are extrapolated.
At 100,000 files, equally weighting broad/deep shapes with three workers/allowed CPUs:
Linux affinity limits apply to the process family in a KVM guest; physical host pinning is not established. Mac worker settings do not claim pinned cores. Within-cell bootstrap intervals are not independent-host confidence intervals or multiple-comparison corrections. GNU find is the reference on both systems.
Viewer and reporting
Integration and validation
3e19bc724cff12a9592aa9d4ce144559a08d9c8fcontains mainc997dc338e1adea1ccb5d4fab83f5c85a44dee40(Preserve pending post-merge benchmark runs #1138), merged by45b6799f38. The earlier Avoid eager stats for lexical listing templates #1134 overlap retains lexical-template metadata demand and independent fuzzy-score collection together with lazy native-case resolution.--config=clang_opt: engine run/metadata/evaluation/glob/expression/parallel matching, fields, four extended-benchmark suites and the landscape suite.3e19bc724cff12a9592aa9d4ce144559a08d9c8f: all 35 engine test targets pass withbazel test //xff/engine:all --config=clang_opt --test_output=errors. The corrected cache test rebuilt and executed; the other 34 results were cached, including the broader package run completed just before adopting the concurrent correction.done. Optional fourth/fifth candidates skipped normally. Exact predecessor main Test 42408216080 also succeeded. The prior 828 head passed coverage and all sanitizers after the mixed-device expectation repair, but the completed CI lint scan reported 79/82 TUs passing and findings in three TUs. The current commit resolves every diagnostic: borrow the twice-used native-glob callback by const reference; keep the parsed test command const; make probe state private behind getters/an explicit denial action; make the stateless fixture helper static; and reserve thread storage while capturing stable array elements in a range loop. No suppressions were added. Five focused targets pass for these fixes (two executed, three source-valid cache hits); the preceding callback correction also executed four focused targets successfully. No actual local clang-tidy ran: the fresh worktree has no compile database, so the automatic hook wrapper returns before invoking the binary. The retained extended-production performance numbers identify their original measured commits/binaries and are not relabeled as measurements of this integrated head.Evidence and remaining work
Start with basic-operation qualification, lazy content state, extended history and chart sensitivity. Compact JSON results and build/revision manifests are committed beside the reports.
Raw samples, configured binaries, build/link evidence, diagnostics, source bundles and audits are retained under
/home/marcus/Documents/xff-chart-campaign-20261107on Drogon andbazel-extended-history-20261107in the original Mac checkout. The basic-operation retention check matched all 2,551 inventoried files (about 520 MB) by SHA-256. The owned Mac RAM disk was released after collection; fixture manifests remain.The next optimization targets are per-entry context construction and remaining path/output copies, judged primarily at three cores with one/three/ten coverage. Small directories and ordinary listing still have gaps to traditional tools; the PR does not claim that every operation now beats find.
CI remediation and main refresh
c997dc338e(Preserve pending post-merge benchmark runs #1138), preserving pending post-merge benchmark runs.release-site.json. The existing correctness-audit link now resolves inside the release snapshot.bazel test //tools:release_site_test --test_output=errors: passed. The first CI failure occurred during documentation link rewriting; the Chromium renderer step had passed.Additional exact-head local validation
3e19bc724cff12a9592aa9d4ce144559a08d9c8f, the four affected test targets (run_test,glob_evaluate_test,uniform_case_test, and@xff_extras_api//:archive_backend_test) all executed and passed with--config=clang-tidy../compile_commands-update.sh: all 329 expected first-party sources are present. Ran the real hermetictools/clang_tidy.shonxff/engine/evaluate.cc,xff/engine/run_test.cc, andxff_extras_api/archive_backend_test.cc: three translation units passed, zero failed. This was an actual analysis, not the prerequisite-missing hook skip; elapsed time was about 530 seconds.bazel-extended-history-20261107/find-listing/pr-integration/ci-fixin the original Mac checkout. Full CI run 42414550429 passed, including the finaldonegate, on this exact head.Final PR CI result
3e19bc724cff12a9592aa9d4ce144559a08d9c8fpassed the complete Test workflow, includingdoneat 22:07 UTC on 2026-11-07.Post-merge validation
52c153549739546e02af7480d6d338096548528fon 2026-11-07 at 22:09 UTC.done, on 2026-11-07 at 22:59 UTC.