Chunked reads beat an h5py process pool; unlimited writer B-trees; Blosc2; 599/697 conformance #16
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user