Hasty Briefsbeta

双语

Crossfire: High-performance lockless spsc/mpsc/mpmc channels for Rust

4 months ago
  • #lockless-channels
  • #async-rust
  • #performance
  • 支持异步和阻塞上下文的高性能无锁通道(spsc/mpsc/mpmc)
  • 基于crossbeam-queue实现底层操作
  • V1.0版发布于2022年12月,V2.0版于2025年6月重构API,V2.1版于2025年9月优化性能
  • V2.1版本移除了crossbeam-channel依赖以获得更好性能
  • 提供detect_backoff_cfg()函数用于单核系统性能优化
  • 可通过'cargo bench --bench crossfire'运行基准测试
  • 在x86_64和arm架构上稳定运行,支持多种运行时(tokio、async-std、smol)
  • 包含三个模块:spsc/mpsc/mpmc,每个模块提供不同通道类型(阻塞/异步/混合)
  • 支持异步上下文中的取消安全操作,并能清理状态
  • 启用'tokio'或'async_std'特性时可使用send_timeout()和recv_timeout()等附加功能
  • 内存高效的SP/SC API实现完全无锁的唤醒注册机制
  • 兼容tokio-1.x和async-std-1.x,运行时无关