Skip to content

perf/store sync#3725

Open
d-v-b wants to merge 6 commits intozarr-developers:mainfrom
d-v-b:perf/store-sync
Open

perf/store sync#3725
d-v-b wants to merge 6 commits intozarr-developers:mainfrom
d-v-b:perf/store-sync

Conversation

@d-v-b
Copy link
Contributor

@d-v-b d-v-b commented Feb 26, 2026

This PR adds synchronous methods to stores that benefit from executing IO outside of an event loop, i.e. memory storage and local storage. These methods are not defined on the ABC, and are instead defined as protocols that stores can opt into.

These methods are needed to unlock a hot path for chunk encoding / decoding that avoids event loop and to_thread overhead.

part of #3720

builds on #3722 and #3721

d-v-b and others added 6 commits February 25, 2026 18:33
Introduces CodecChain, a frozen dataclass that chains array-array,
array-bytes, and bytes-bytes codecs with synchronous encode/decode
methods. Pure compute only -- no IO, no threading, no batching.

Also adds sync roundtrip tests for individual codecs (blosc, gzip,
zstd, crc32c, bytes, transpose, vlen) and CodecChain integration tests.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions github-actions bot added the needs release notes Automatically applied to PRs which haven't added release notes label Feb 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs release notes Automatically applied to PRs which haven't added release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant