Avatar for the zarr-developers user
zarr-developers
zarr-python
BlogDocsChangelog

Coalesce and parallelize partial shard reads

#3004
Comparing
aldenks:coalesce-shard-reads
(
c9875d5
) with
main
(
23596c1
)
CodSpeed Performance Gauge
+16%
Improvement
1
Untouched
47
Skipped
6

Benchmarks

54 total
test_slice_indexing[(50, 50, 50)-(slice(10, -10, 4), slice(10, -10, 4), slice(10, -10, 4))-memory_get_latency]
tests/benchmarks/test_indexing.py
CodSpeed Performance Gauge
+16%
246.8 ms213.5 ms
test_slice_indexing[(50, 50, 50)-(slice(None, None, None), slice(0, 3, 2), slice(0, 10, None))-memory_get_latency]
tests/benchmarks/test_indexing.py
CodSpeed Performance Gauge
+10%
7.2 ms6.6 ms
test_read_array[local-Layout(shape=(1000000,), chunks=(1000,), shards=None)-gzip]
tests/benchmarks/test_e2e.py
CodSpeed Performance Gauge
+6%
986.3 ms929.6 ms
test_slice_indexing[(50, 50, 50)-(slice(None, None, None), slice(None, None, None), slice(None, None, None))-memory_get_latency]
tests/benchmarks/test_indexing.py
CodSpeed Performance Gauge
+6%
441.1 ms415.7 ms
test_slice_indexing[(50, 50, 50)-(slice(0, None, 4), slice(0, None, 4), slice(0, None, 4))-memory_get_latency]
tests/benchmarks/test_indexing.py
CodSpeed Performance Gauge
+6%
434.9 ms410.4 ms
test_read_array[local-Layout(shape=(1000000,), chunks=(1000,), shards=None)-None]
tests/benchmarks/test_e2e.py
CodSpeed Performance Gauge
+5%
645.2 ms612.2 ms
test_slice_indexing[(50, 50, 50)-(slice(10, -10, 4), slice(10, -10, 4), slice(10, -10, 4))-memory]
tests/benchmarks/test_indexing.py
CodSpeed Performance Gauge
+4%
219.9 ms210.6 ms
test_slice_indexing[None-(slice(None, None, None), slice(0, 3, 2), slice(0, 10, None))-memory_get_latency]
tests/benchmarks/test_indexing.py
CodSpeed Performance Gauge
+4%
4.2 ms4 ms
test_slice_indexing[None-(slice(None, 10, None), slice(None, 10, None), slice(None, 10, None))-memory]
tests/benchmarks/test_indexing.py
CodSpeed Performance Gauge
+3%
902.3 µs872.2 µs
test_slice_indexing[None-(slice(None, None, None), slice(0, 3, 2), slice(0, 10, None))-memory]
tests/benchmarks/test_indexing.py
CodSpeed Performance Gauge
+3%
3.8 ms3.7 ms
test_slice_indexing[None-(slice(None, None, None), slice(None, None, None), slice(None, None, None))-memory]
tests/benchmarks/test_indexing.py
CodSpeed Performance Gauge
+3%
386.9 ms375.2 ms
test_write_array[memory-Layout(shape=(1000000,), chunks=(1000,), shards=None)-gzip]
tests/benchmarks/test_e2e.py
CodSpeed Performance Gauge
+3%
1 s1 s
test_slice_indexing[None-(0, 0, 0)-memory]
tests/benchmarks/test_indexing.py
CodSpeed Performance Gauge
+3%
880.8 µs855.5 µs
test_read_array[memory-Layout(shape=(1000000,), chunks=(1000,), shards=None)-None]
tests/benchmarks/test_e2e.py
CodSpeed Performance Gauge
+3%
282.2 ms274.1 ms
test_slice_indexing[None-(slice(None, None, None), slice(None, None, None), slice(None, None, None))-memory_get_latency]
tests/benchmarks/test_indexing.py
CodSpeed Performance Gauge
+3%
440 ms427.7 ms
test_slice_indexing[(50, 50, 50)-(0, 0, 0)-memory]
tests/benchmarks/test_indexing.py
CodSpeed Performance Gauge
+3%
1.8 ms1.7 ms
test_slice_indexing[(50, 50, 50)-(slice(None, None, None), slice(None, None, None), slice(None, None, None))-memory]
tests/benchmarks/test_indexing.py
CodSpeed Performance Gauge
+3%
425 ms413.3 ms
test_read_array[local-Layout(shape=(1000000,), chunks=(100,), shards=(1000000,))-None]
tests/benchmarks/test_e2e.py
CodSpeed Performance Gauge
+3%
2.9 s2.8 s
test_slice_indexing[(50, 50, 50)-(slice(0, None, 4), slice(0, None, 4), slice(0, None, 4))-memory]
tests/benchmarks/test_indexing.py
CodSpeed Performance Gauge
+3%
418.8 ms407.5 ms
test_slice_indexing[None-(slice(10, -10, 4), slice(10, -10, 4), slice(10, -10, 4))-memory]
tests/benchmarks/test_indexing.py
CodSpeed Performance Gauge
+3%
209.3 ms203.7 ms
test_read_array[memory-Layout(shape=(1000000,), chunks=(100,), shards=(1000000,))-gzip]
tests/benchmarks/test_e2e.py
CodSpeed Performance Gauge
+3%
6.1 s6 s
test_slice_indexing[None-(slice(10, -10, 4), slice(10, -10, 4), slice(10, -10, 4))-memory_get_latency]
tests/benchmarks/test_indexing.py
CodSpeed Performance Gauge
+3%
237.8 ms231.9 ms
test_write_array[local-Layout(shape=(1000000,), chunks=(1000,), shards=None)-None]
tests/benchmarks/test_e2e.py
CodSpeed Performance Gauge
+2%
1.2 s1.2 s
test_slice_indexing[None-(slice(0, None, 4), slice(0, None, 4), slice(0, None, 4))-memory_get_latency]
tests/benchmarks/test_indexing.py
CodSpeed Performance Gauge
+2%
435.4 ms424.9 ms
test_read_array[memory-Layout(shape=(1000000,), chunks=(100,), shards=(1000000,))-None]
tests/benchmarks/test_e2e.py
CodSpeed Performance Gauge
+2%
2.9 s2.9 s

Commits

Click on a commit to change the comparison range
Base
main
23596c1
-0.41%
Merge branch 'main' into coalesce-shard-reads
ba77e87
29 days ago
by aldenks
+0.3%
Ensure no change in behavior when ByteGetter.get returns None + comment
b71302f
29 days ago
by aldenks
-0.68%
Add test_sharing_unit.py, focusing on coallesce behavior, but with basic tests for other components
24f6f1c
29 days ago
by aldenks
+0.21%
Fix typing errors in test_sharing_unit.py
6437fb6
29 days ago
by aldenks
-9.47%
Merge branch 'main' into coalesce-shard-reads
c393e41
23 days ago
by aldenks
+25.65%
Merge branch 'main' into coalesce-shard-reads
c9875d5
2 days ago
by d-v-b
© 2026 CodSpeed Technology
Home Terms Privacy Docs