4 个版本
使用旧 Rust 2015
0.1.3 | 2018年7月21日 |
---|---|
0.1.2 | 2018年1月6日 |
0.1.1 | 2018年1月6日 |
0.1.0 | 2017年5月7日 |
#648 在 并发
632 每月下载量
在 33 个 Crates 中使用(通过 fibers)
22KB
499 行
nbchan
使用 Rust 实现的高度优化的非阻塞通信通道。
非正式基准测试
nbchan
的版本是 v0.1.0
$ cat /etc/lsb-release | tail -1
DISTRIB_DESCRIPTION="Ubuntu 17.04"
$ cat /proc/cpuinfo | grep 'model name'
model name : Intel(R) Core(TM) i7-6600U CPU @ 2.60GHz
model name : Intel(R) Core(TM) i7-6600U CPU @ 2.60GHz
model name : Intel(R) Core(TM) i7-6600U CPU @ 2.60GHz
model name : Intel(R) Core(TM) i7-6600U CPU @ 2.60GHz
$ rustup run nightly rustc -V
rustc 1.18.0-nightly (036983201 2017-04-26)
$ rustup run nightly cargo bench
running 8 tests
test create_nbchan_oneshot ... bench: 23 ns/iter (+/- 1)
test create_std_mpsc ... bench: 64 ns/iter (+/- 6)
test failure_send_nbchan_oneshot ... bench: 40 ns/iter (+/- 1)
test failure_send_std_mpsc ... bench: 85 ns/iter (+/- 6)
test multithread_send_recv_nbchan_oneshot ... bench: 71 ns/iter (+/- 19)
test multithread_send_recv_std_mpsc ... bench: 108 ns/iter (+/- 53)
test send_recv_nbchan_oneshot ... bench: 35 ns/iter (+/- 4)
test send_recv_std_mpsc ... bench: 82 ns/iter (+/- 3)
test result: ok. 0 passed; 0 failed; 0 ignored; 8 measured
$ cargo run --example channel_size
nbchan::oneshot::Sender<()>: 8 bytes
nbchan::oneshot::Receiver<()>: 8 bytes
std::sync::mpsc::Sender<()>: 16 bytes
std::sync::mpsc::Receiver<()>: 16 bytes