[package]
name = "benchmark-harness"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
homepage = "https://kreuzberg.dev"
default-run = "benchmark-harness"

[lib]
name = "benchmark_harness"
path = "src/lib.rs"

[[bin]]
name = "benchmark-harness"
path = "src/main.rs"

[features]
default = []
profiling = ["pprof"]
memory-profiling = ["tikv-jemallocator", "tikv-jemalloc-ctl"]

[dependencies]

ahash = { workspace = true }

async-trait = { workspace = true }
chrono = { workspace = true }

clap = { workspace = true }
futures = { workspace = true }
kreuzberg = { path = "../../crates/kreuzberg", features = ["full"] }
num_cpus = { workspace = true }

pprof = { version = "0.15", features = ["flamegraph", "criterion"], optional = true }
pulldown-cmark = "0.13"
rayon = { workspace = true }
regex = "1"
serde = { workspace = true }
serde_json = { workspace = true }
shellexpand = "3"

sysinfo = "0.38"
tempfile = { workspace = true }
thiserror = { workspace = true }
tikv-jemalloc-ctl = { version = "0.7", features = ["stats"], optional = true }
tikv-jemallocator = { version = "0.7", optional = true }
tokio = { workspace = true, features = ["full"] }
tracing = { workspace = true }
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
which = "8"

[dev-dependencies]
