< 返回版块

Mike Tang 发表于 2026-01-25 13:00

sockudo-ws - 超低延迟 WebSocket 库

项目简介

sockudo-ws 是一个为 Rust 设计的超低延迟 WebSocket 库,专门针对高频交易(HFT)应用和实时系统优化。完全兼容 Tokio 和 Axum 框架,将用于 Sockudo 高性能 WebSocket 服务器项目。

性能表现

与其他 Rust WebSocket 库对比

在 100,000 次 "Hello, World!" 消息测试中:

库名 发送 回显 接收 总计
sockudo-ws 1.2ms 5.0ms 3.1ms 10.2ms
fastwebsockets 3.3ms 5.7ms 3.0ms 12.0ms
tokio-tungstenite 6.4ms 18.2ms 10.2ms 34.8ms

sockudo-ws 比次快的库快约 17%

与 C++ uWebSockets 对比

在多连接、大消息量测试中,sockudo-ws 的性能达到或超过行业标准 uWebSockets:

  • 512字节/100连接: 232,712 msg/s (uWebSockets: 227,973)
  • 1024字节/100连接: 232,072 msg/s (uWebSockets: 224,498)

核心特性

  1. 性能优化

    • SIMD 加速(支持 AVX2/AVX-512/SSE2/NEON 等)
    • 零拷贝解析
    • 写入批处理(减少系统调用)
    • 无锁分离流(真正的并发读写)
  2. 功能支持

    • permessage-deflate 压缩
    • 发布/订阅系统
    • HTTP/2 WebSocket (RFC 8441)
    • HTTP/3 WebSocket (RFC 9220)
    • io_uring(Linux 高性能异步 I/O)
  3. 可靠性

    • 通过全部 517 个 Autobahn 测试用例
    • 经过 libFuzzer 模糊测试

安装使用

可通过 Cargo.toml 添加依赖,支持多种特性组合:

  • 基础版本
  • 带压缩(permessage-deflate)
  • 带 HTTP/2/HTTP/3 支持
  • 带 TLS 支持
  • 带 io_uring 支持
  • 完整功能版本

适用场景

  • 高频交易系统
  • 实时通信应用
  • 需要极低延迟的 WebSocket 服务

https://github.com/sockudo/sockudo-ws

使用 Burn 框架的智能疾病检测系统

这是一个基于深度学习的植物疾病检测项目,主要特点如下:

核心架构

  • 框架:使用 Burn 框架(Rust 深度学习库)构建
  • 模型类型:卷积神经网络(CNN)

网络结构

采用渐进式特征提取设计:

  1. 4个卷积块:逐层增加通道数(3→32→64→128→256)
  2. 标准化处理:每层配备 BatchNorm 和 ReLU 激活函数
  3. 降采样:使用 2×2 最大池化层
  4. 分类头:全局平均池化 + 两层全连接层
  5. 输出:38 个类别的疾病分类

技术特色

  • 使用 Rust 语言实现,具有高性能和内存安全特性
  • 经典的 CNN 架构,适合图像分类任务
  • 模型结构清晰,便于理解和部署

应用场景

用于识别植物的38种不同疾病类型,可辅助农业病害诊断。

https://snaetwarre.github.io/My-Portofolio/blog/intelligent-disease-detection.html

--

From 日报小组 Mike

社区学习交流平台订阅:

评论区

写评论

还没有评论

1 共 0 条评论, 1 页