1 个不稳定版本

0.1.0 2023 年 9 月 4 日

#1103并发

MIT 许可证

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 样式的通道,公平性不是问题。

没有运行时依赖