Drive both utilities end-to-end through their real entry points.
- benches/updatedb_bench.rs: walks a generated tree (~8.5k paths) and
writes a LOCATE02 database, measuring the walk + front-coding + write
(full build and a -regex/-prune variant). Empty prune options keep the
run deterministic regardless of temp_dir location.
- benches/locate_bench.rs: builds the database once via updatedb, then
scans it in -c/count mode so database decoding and pattern matching
dominate (no-match, substring, -b basename, -i ignore-case, -r regex).
Unix-only, matching the locate module's cfg.
The existing CodSpeed workflow picks these up via cargo codspeed build/run.
Introduce criterion benchmarks (via codspeed-criterion-compat) that drive
find and xargs end-to-end through their real entry points, plus a CodSpeed
GitHub Actions workflow to track performance on pushes and PRs.
- benches/find_bench.rs: walks a generated directory tree exercising the
matcher tree (-name/-iname/-regex/-size/-type, grouping, -prune, -printf).
Output is sent to a sink so the directory walk and matching dominate.
- benches/xargs_bench.rs: feeds a corpus via -a and runs 'true' so xargs'
own argument reading/splitting/batching dominates (whitespace, NUL, -n, -s).
- .github/workflows/codspeed.yml: mirrors the uutils/grep setup.