Files
clawhdf5/crates/clawhdf5-bench/Cargo.toml
T
Omar Sobh 09df5235e0
CI / test (push) Failing after 3s
wip-4b3
2026-08-07 06:55:46 -07:00

81 lines
2.5 KiB
TOML

[package]
name = "clawhdf5-bench"
version = "2.1.0"
edition = "2024"
description = "Benchmark harnesses for clawhdf5-agent (Track 8)"
license = "MIT"
[[bin]]
name = "longmemeval_bench"
path = "src/bin/longmemeval_bench.rs"
[[bin]]
name = "memory_arena"
path = "src/bin/memory_arena.rs"
[[bin]]
name = "footprint_bench"
path = "src/bin/footprint_bench.rs"
[[bin]]
name = "consolidation_efficiency"
path = "src/bin/consolidation_efficiency.rs"
[[bin]]
name = "ephemeral_perf"
path = "src/bin/ephemeral_perf.rs"
[[bin]]
name = "mpi_io_bench"
path = "src/bin/mpi_io_bench.rs"
required-features = ["mpi-io"]
# ---------------------------------------------------------------------------
# h5bench-equivalent Criterion benchmarks
# ---------------------------------------------------------------------------
[[bench]]
name = "h5bench_write"
harness = false
[[bench]]
name = "h5bench_read"
harness = false
[[bench]]
name = "h5bench_meta"
harness = false
[dependencies]
clawhdf5-agent = { path = "../clawhdf5-agent" }
clawhdf5-io = { path = "../clawhdf5-io" }
mpi = { version = "0.8", optional = true }
serde = { workspace = true }
serde_json = "1"
tempfile = { workspace = true }
# Optional: libhdf5 C wrapper for side-by-side comparison (requires system libhdf5).
# Enable with: cargo bench -p clawhdf5-bench --features libhdf5-compare
# Uses hdf5-metno (fork of hdf5 crate) which supports HDF5 1.14.x.
hdf5 = { version = "0.12", optional = true, package = "hdf5-metno" }
# Optional: real sentence embeddings for the LongMemEval bench's vector stage.
# Enable with: cargo run --release --bin longmemeval_bench --features embeddings
# Off by default — nothing in the shipped crates depends on these.
candle-core = { version = "0.9", optional = true }
candle-nn = { version = "0.9", optional = true }
candle-transformers = { version = "0.9", optional = true }
tokenizers = { version = "0.21", optional = true }
[dev-dependencies]
clawhdf5 = { path = "../clawhdf5", features = ["zstd", "pcodec"] }
criterion = { workspace = true }
[features]
# When enabled, benchmarks add matching libhdf5 variants for side-by-side comparison.
libhdf5-compare = ["hdf5"]
mpi-io = ["clawhdf5-io/mpi-io", "mpi"]
# Real MiniLM embeddings for longmemeval_bench, so the vector stage is not inert.
embeddings = ["candle-core", "candle-nn", "candle-transformers", "tokenizers"]
# CUDA-accelerated embedding. MiniLM on a CPU takes hours over the full
# longmemeval_s haystack; on a GPU it is minutes.
embeddings-cuda = ["embeddings", "candle-core/cuda", "candle-nn/cuda", "candle-transformers/cuda"]