-
rust-ndarray
ndarray: an N-dimensional array with array views, multidimensional slicing, and efficient operations
-
2022-rust-slicing-perf
Performance of different data access patterns in Rust – quantitative analysis: loops vs iterators vs parallel iterators.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
In principle you're trying to convert between columnar and row-based data layouts, something that happens fairly often in data science. I bet there's some hyper-efficient SIMD magic that could be invoked for these slicing operations (and maybe the iterator solution does exactly that). Might be worth taking a look at how the relevant Rust libraries like ndarray do it.
I have published the source code and a more detailed writeup on Github.
Related posts
-
Helper crate for working with image data of varying type?
-
What is the most efficient way to study Rust for scientific computing applications?
-
Status and Future of ndarray?
-
How does explicit unrolling differ from iterating through elements one-by-one? (ndarray example)
-
Help slicing 2D array in no_std environment