1 个不稳定版本
0.1.0 | 2023 年 9 月 4 日 |
---|
#1103 在 并发
15KB
315 行
unsync_channel
一个 !Sync
、!Send
通道,专为单线程运行时的高吞吐量设计。
spsc::unbuffered
一个单生产者、单消费者、单项通道。基准测试表明,这比 tokio::sync::mpsc::channel
有更低的开销:在两个任务之间发送和接收 LocalSet
的情况下,发送 10 个项目大约需要 75ns。对于等效的 tokio 通道,大约需要 412ns。
使用 try_send 和 try_recv API,这个队列发送和接收一个项目需要 13ns,而等效的 tokio 通道需要 399ns。
请注意,此通道只能容纳一个项目。如果通道中的项目未被接收,发送尝试将阻塞。然而,由于这是一个 SPSC 样式的通道,公平性不是问题。