The Extensible Array bug reached a release because no fixture had more chunks than fit inline, so its data blocks were never read. The Fixed Array index had the same blind spot: nothing exercised it above a handful of chunks, and nothing reached the paged layout at all. Checked at 100, 5 000 and 200 000 chunks plus a sparse dataset that leaves whole pages uninitialised. It is correct throughout — it does keep its page-init bitmap inside the data block, which is the difference from the Extensible Array that made assuming otherwise a bug. Adding the tests so that stays true. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
clawhdf5
Pure-Rust HDF5 reader/writer — no C dependencies.
Features
- Read and write HDF5 files entirely in Rust
- Memory-mapped I/O for large files (
mmapfeature, enabled by default) - Parallel chunk reads via Rayon (
parallelfeature) - Lazy dataset access for minimal memory usage
- h5py-compatible file output
Usage
use clawhdf5::File;
let file = File::open("data.h5").unwrap();
let dataset = file.dataset("/group/data").unwrap();
let values: Vec<f64> = dataset.read_1d().unwrap();
License
MIT