Chunked reads beat an h5py process pool; unlimited writer B-trees; Blosc2; 599/697 conformance #16

Merged
osobh merged 48 commits from feat/p2b-scale into main 2026-09-26 17:42:16 +00:00
Showing only changes of commit 3da118d2ee - Show all commits
+2 -2
View File
@@ -1014,9 +1014,9 @@ impl BlockGeometry<'_> {
let nd = self.nd; let nd = self.nd;
unravel(b, self.blocks_in_chunk, &mut p.bidx); unravel(b, self.blocks_in_chunk, &mut p.bidx);
let mut empty = false; let mut empty = false;
for i in 0..nd.shape.len() { for (i, &c) in cidx.iter().enumerate() {
let in_chunk = p.bidx[i] * nd.blockshape[i]; let in_chunk = p.bidx[i] * nd.blockshape[i];
p.gstart[i] = cidx[i] * nd.chunkshape[i] + in_chunk; p.gstart[i] = c * nd.chunkshape[i] + in_chunk;
let lim_chunk = nd.chunkshape[i].saturating_sub(in_chunk); let lim_chunk = nd.chunkshape[i].saturating_sub(in_chunk);
let lim_shape = nd.shape[i].saturating_sub(p.gstart[i]); let lim_shape = nd.shape[i].saturating_sub(p.gstart[i]);
p.valid[i] = nd.blockshape[i].min(lim_chunk).min(lim_shape); p.valid[i] = nd.blockshape[i].min(lim_chunk).min(lim_shape);