Files
clawhdf5/crates/clawhdf5-bench/Cargo.toml
T
Omar SobhandClaude Sonnet 4.6 e82b8f56bd bench: enable zstd in bench crate, update codec comparison results
Add features = ["zstd"] to clawhdf5-bench dev-dependency so the
write_2d_chunked_zstd benchmark no longer panics with UnsupportedFilter(32015).

Update BENCHMARKS.md and README.md with measured results from the full
h5bench write suite (2026-06-30, post write-performance improvements):
- Zstd-3 hits 593 MiB/s at 512×512 vs deflate-6's 280 MiB/s (2.12×)
- Zstd-3 hits 330 MiB/s at 128×128 vs deflate-6's 132 MiB/s (2.51×)
- Sequential f64 batch write improved ~8-11% from owned-Vec IO path

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
2026-06-30 23:49:13 +00:00

69 lines
1.7 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 = { version = "1", features = ["derive"] }
serde_json = "1"
tempfile = "3"
# 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" }
[dev-dependencies]
clawhdf5 = { path = "../clawhdf5", features = ["zstd"] }
criterion = { version = "0.5", features = ["html_reports"] }
[features]
# When enabled, benchmarks add matching libhdf5 variants for side-by-side comparison.
libhdf5-compare = ["hdf5"]
mpi-io = ["clawhdf5-io/mpi-io", "mpi"]