Skip to content
Oeiuwq Faith Blog OpenSource Porfolio

kprotty/uchan

Channels

kprotty/uchan.json
{
"createdAt": "2022-06-12T01:52:34Z",
"defaultBranch": "main",
"description": "Channels",
"fullName": "kprotty/uchan",
"homepage": null,
"language": "Rust",
"name": "uchan",
"pushedAt": "2022-11-05T16:05:59Z",
"stargazersCount": 26,
"topics": [],
"updatedAt": "2025-11-10T18:12:36Z",
"url": "https://github.com/kprotty/uchan"
}

Small, scalable, unbounded, mpsc channel.

[Cargo]!( https://crates.io/crates/uchan) [Documentation]!( https://docs.rs/uchan) [License]!( https://github.com/kprotty/uchan)

This is (almost) a drop-in replacement for std::sync::mpsc with a focus on being lock-free and scalable for both producers and consumers. It also supports being used as #![no_std], in which the caller provides a trait used to block and unblock a thread, with the queue implementing everything else from there.

[dependencies]
uchan = "0.1.4"
Terminal window
cd benchmark
cargo run --release

For adding custom channels to the benchmark, see benchmark/src/queues.rs.

uchan is licensed under MIT (http://opensource.org/licenses/MIT)