Skip to content

Performance and Storage Improvements#28

Open
ianfd wants to merge 26 commits into
scverse:mainfrom
SingleRust:main
Open

Performance and Storage Improvements#28
ianfd wants to merge 26 commits into
scverse:mainfrom
SingleRust:main

Conversation

@ianfd
Copy link
Copy Markdown

@ianfd ianfd commented Jun 1, 2026

TLDR: switched from nalgebra-sparse to sprs, allows dynamic indices of CSR/CSC

Zarr support now with direct interface to e.g. object storage

Performance statistics will be uploaded in next few days.

Performance characteristics: H5AD same/comparable in all cases tested, massive improvement observed when reading from Zarr format.

Ian and others added 26 commits January 27, 2026 17:57
Update to current state of main repo
…ntics

This adds ownership-transferring methods to ArrayElem and collections to allow moving data directly into memory without caching or duplicating buffers. Also adds backend interop and nested metadata tests.
…rtial reads

- Parallelize component loading for CSR/CSC matrices, DataFrames, and Collections using Rayon to maximize disk/network bandwidth.
- Implement optimized read_select for sparse matrices to perform partial I/O, fetching only required data/indices for row/column slices.
- Eliminate redundant casting and intermediate allocations in sparse index loading by implementing direct-to-target-type reading.
- Replace sequential iter_containers with concurrent dispatch.
- added corrupt CSC/CSR tests
- Cover bad indptr, length mismatch, unsorted indices, and out-of-bounds
  indices

- some cleanup and small Zarr bugfix
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant