batch-channel 0.3.0

async channel that reduces overhead by reading and writing many values at once
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
async MPMC channel that reduces overhead by reading and writing many
values at once.

Sometimes large volumes of small values are farmed out to workers
through a channel. Consider directory traversal: each readdir()
call produces a batch of directory entries. Batching can help the
consumption side too. Consider querying SQLite with received
values -- larger batches reduce the amortized cost of acquiring
SQLite's lock and bulk queries can be issued.

One can imagine natural, currently unimplemented, extensions to this
crate:
* Channels with priority
* impls for `futures::sink::Sink` and `futures::stream::Stream`

Ask if they would be helpful.