Conversation
|
I love this!
See zarr-developers/zarr-python#3678. Telling claude to copy tensorstore works great! |
|
I am very much so in favor of this because I really abuse this chunk-iteration API and do notice this performance hit. Do you think the performance hit comes from creating many small rust classes? Or is it in zarr-python before we even see the individual chunk selections? Just wondering out loud for the current state of things, could we make https://github.com/zarrs/zarrs-python/blob/main/python/zarrs/utils.py simpler? I wonder if the creation of a list of selection-out-shape objects or selections/outs/shapes individually specifically could be rust-ified if we could guarantee from zarr-python that the input to it is always a I would be very open to dropping this Similar/related to this could be an API that the base Directly to the question of
could be just monkey-patching the |
This is a POC for using
zarrs'Arrayfrom python. Nativezarrsperformance in Python 🚀🚀🚀. It just layers overzarr.Arrayand replaces__getitem__and__setitem__. The advantage over the codec pipeline is that all chunking logic / reassembly happens on the Rust side.It'd be amazing if there was some way to make this usable by
zarr-python(similarly to the codec pipeline) sodasketc can use it.Also maybe it should be lazy by default, currently opt-in with
.lazyRound trip benchmark
Disclosure: I haven't reviewed this thoroughly, Claude did most of the implementation.