Files
findutils/Cargo.toml
T
Sylvestre Ledru fc446aba0b ci: add CodSpeed benchmarks for updatedb and locate (#705)
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.
2026-06-06 11:00:04 +02:00

94 lines
1.8 KiB
TOML

[package]
name = "findutils"
version = "0.8.0"
homepage = "https://github.com/uutils/findutils"
repository = "https://github.com/uutils/findutils"
edition = "2021"
license = "MIT"
readme = "README.md"
description = "Rust implementation of GNU findutils"
authors = ["uutils developers"]
[dependencies]
argmax = "0.4.0"
chrono = "0.4.45"
clap = { version = "4.6", features = ["env"] }
faccess = "0.2.4"
nix = { version = "0.31", features = ["fs", "user"] }
onig = { version = "6.5", default-features = false }
regex = "1.12"
uucore = { version = "0.9.0", features = ["entries", "fs", "fsext", "mode"] }
walkdir = "2.5"
itertools = "0.14.0"
thiserror = "2.0.12"
[dev-dependencies]
criterion = { version = "4.7.0", package = "codspeed-criterion-compat" }
assert_cmd = "2"
ctor = "1.0"
filetime = "0.2"
nix = { version = "0.31", features = ["fs"] }
rstest = "0.25.0"
tempfile = "3"
uutests = "0.9.0"
[[bench]]
name = "find_bench"
harness = false
[[bench]]
name = "xargs_bench"
harness = false
[[bench]]
name = "updatedb_bench"
harness = false
[[bench]]
name = "locate_bench"
harness = false
[[bin]]
name = "find"
path = "src/find/main.rs"
[[bin]]
name = "locate"
path = "src/locate/main.rs"
[[bin]]
name = "updatedb"
path = "src/updatedb/main.rs"
[[bin]]
name = "xargs"
path = "src/xargs/main.rs"
[[bin]]
name = "testing-commandline"
path = "src/testing/commandline/main.rs"
[profile.release]
lto = "thin"
codegen-units = 1
[profile.release-fast]
inherits = "release"
panic = "abort"
[lints.clippy]
multiple_crate_versions = "allow"
cargo_common_metadata = "allow"
uninlined_format_args = "allow"
missing_panics_doc = "allow"
use_self = "warn"
needless_pass_by_value = "warn"
semicolon_if_nothing_returned = "warn"
single_char_pattern = "warn"
explicit_iter_loop = "warn"
if_not_else = "warn"
manual_let_else = "warn"
# Disable for now, we have a few occurrences
# panic = "warn"