13 releases

0.8.2 Nov 8, 2021
0.8.0 Apr 8, 2021
0.7.4 Mar 8, 2021
0.7.3 Aug 11, 2020
0.5.4 Jul 14, 2019

#779 in Encoding

Download history 241/week @ 2025-03-11 179/week @ 2025-03-18 142/week @ 2025-03-25 255/week @ 2025-04-01 279/week @ 2025-04-08 129/week @ 2025-04-15 235/week @ 2025-04-22 405/week @ 2025-04-29 141/week @ 2025-05-06 116/week @ 2025-05-13 370/week @ 2025-05-20 253/week @ 2025-05-27 140/week @ 2025-06-03 266/week @ 2025-06-10 54/week @ 2025-06-17 44/week @ 2025-06-24

551 downloads per month
Used in sonnerie

MIT license

87KB
2K SLoC

rust-shardio

Crates.io Downloads Crates.io Version Crates.io License Build Status Coverage Status API Docs

Library for out-of-memory sorting of large datasets which need to be processed in multiple map / sort / reduce passes.

You write a stream of items of type T implementing Serialize and Deserialize to a ShardWriter. The items are buffered, sorted according to a customizable sort key, then serialized to disk in chunks with serde + lz4, while maintaining an index of the position and key range of each chunk. You use a ShardReader to stream through a item in a selected interval of the key space, in sorted order.

See Docs for API and examples.

Note: Enable the 'full-test' feature in Release mode to turn on some long-running stress tests.

Dependencies

~2.3–3.5MB
~66K SLoC