RFC: Zarr-Python 3.0 Design Doc #1569
Replies: 2 comments 9 replies
-
Looks awesome! Working with batches of chunks when doing IO and/or (de)compression from sharded ZarrsTL;DR: The current design looks great for handling something like 1,000 chunks per second1. But, if we want to push Zarr to handle more like one million chunks per second (from a sharded Zarr), then it'd be great to discuss adding support for processing batches of chunks in one go. I'd be keen to discuss whether this draft proposal would be an appropriate time to consider adding support for processing batches of chunks (in a single function call). For example, allowing
Yes, in principle, the And, if we're trying to load one million chunks per second then we'll bump into the issue that function calls are surprisingly slow in Python: each function call (with arguments) takes about 350 ns4 (just for the function call: not doing any actual work!) A million function calls would take 0.35 seconds! So, it should be more efficient to do single Some reasons why we might want to ignore this suggestion for Zarr-Python:
FootnotesFootnotes
|
Beta Was this translation helpful? Give feedback.
-
Hi all, just wanted to offer support for the roadmap and design doc (#1583), kudos for plotting a clear course through some very tricky terrain. |
Beta Was this translation helpful? Give feedback.
-
As part of the Zarr-Python Refactoring working group (#1480) I have developed a draft proposal for a major block of work in the Zarr-Python project, leading version 3.0 and including support for the V3 spec. This post is both a Request for Comment and a forum for discussion.
Goals (read the doc for details)
Thanks to @d-v-b, @normanrz, @rabernat, @dcherian, @monodeldiablo, @olimcc, @martindurant, and @JackKelly for their input so far. cc @zarr-developers/python-core-devs.
Note: The next Zarr-Python Refactor working group is slated to meet at 9a PT on November 22, 2023. We'll be discussing this topic in detail then, please feel free to join (#1480).
Beta Was this translation helpful? Give feedback.
All reactions