Lightstream:Rust 数据传输栈公开跑分超过 Arrow Flight
Lightstream 是一个用 Rust 构建的数据传输栈,目标是把 Apache Arrow、Protobuf 和 MessagePack 这类常见数据格式,以更低门槛接到 TCP、HTTP、QUIC、WebSocket、WebTransport、UDS 和 stdio 等传输层上。项目同时提供 Rust 包和 Python 绑定,底层建立在 Minarrow 之上,强调传输层与数据格式层可以按需组合,而不是把使用者绑死在单一协议里。
这次发布最吸引眼球的是公开 benchmark。作者给出的 50Gbps EC2 网络测试里,Lightstream 在 mixed、numeric、string-heavy 和 wide 四组 workload 上,都跑出了高于 Arrow Flight 的吞吐;在 16 路并发下基本把网卡打到 5.8 GiB/s,p99 batch send time 也控制在接近 p50 的范围内。它同时保留了明确的边界:这是高吞吐数据交换层,不是 Kafka 这类 broker,也不是 Flink 这类流处理引擎。
实现层面,项目用了 zero-copy、64-byte 对齐、arena allocation、mmap,以及可选的 io_uring 等性能手段,定位很明确:把“高性能传数据”这件事抽成一层更容易复用的 Rust 基础设施。
原文链接:https://old.reddit.com/r/rust/comments/1v64qoq/introducing_lightstream_built_in_rust_measured/
graphplot:Rust 图结构可视化工具,支持 Typst 公式与多布局
graphplot 面向的是“大图、复杂关系、还得看起来别太老”的那类可视化场景。作者提到,自己在 Rust 里长期处理数据结构时,很难找到一个既能撑住复杂图关系、又能提供现代一点视觉效果的工具,于是干脆做了一个新的 Rust 图绘制方案。
从功能看,这个项目已经不只是把节点和边画出来。它支持在节点和边里直接放 Typst 数学公式,支持多种布局引擎、子图与无限嵌套、自定义明暗主题、路径高亮,以及 SVG、PNG、PDF 导出。对于需要把算法结构、依赖关系或复杂状态流直观展示出来的 Rust 项目,这套组合相当实用。
架构上,graphplot 采用轻量 Rust 客户端加后端 API 的方式来承载布局与 Typst 渲染,原因也很实际:这些渲染引擎本身比较重,需要常驻内存,拆成服务端后更容易把体验和性能都维持住。
原文链接:https://old.reddit.com/r/rust/comments/1v6derg/ive_created_a_graph_plotting_tool_in_rust/
mimalloc-pprof:把 pprof 堆快照带到 mimalloc
mimalloc-pprof 这次补上的,是很多长期运行服务都会关心的一块能力:pprof 风格的 heap snapshot profiling。作者的目标很直接,就是把 tcmalloc / jemalloc 常见的堆分析体验带到 mimalloc 上,同时保留 mimalloc 在 Windows、macOS、Linux 多平台可用、易于交叉编译的优势。
除了 profiling,本次实现还顺手处理了 Linux 侧一个更底层的问题:TLS sentinel poisoning。作者给出的说明是,这个 bug 在高压或早期线程初始化场景下可能触发更难排查的崩溃;修掉之后,mimalloc 在“可观测性”和“稳定性”两边都往前推了一步。
如果你在 Rust 里维护长时间运行的服务、守护进程或需要细看堆分配行为的系统,这类面向可移植 allocator 的 profiling 能力,价值会比单纯的 benchmark 数字更直接。
原文链接:https://github.com/zackees/mimalloc-pprof
rsbtd:基于 libtorrent 的现代 BitTorrent 守护进程
rsbtd 是一个现代 BitTorrent 守护进程,底层建立在 libtorrent-rasterbar 之上,也就是 qBittorrent、Deluge 同一代引擎系。它把重点放在“守护进程原生化”上:不是只做一个能下载的后台程序,而是围绕远程控制、自动化和现代界面,把整套服务形态补完整。
项目提供 GraphQL API、WebUI,以及面向脚本和日常操作的 rsbtctl CLI。部署路径也比较完整:有 release 安装包、RPM、容器镜像,还支持通过较小的配置面来决定监听地址、token、WebUI 暴露方式和服务端能力。对想把下载服务放进自托管体系的人来说,这种“服务 + API + UI”三件套比单纯桌面客户端更容易接进自动化流程。
从 Rust 生态角度看,rsbtd 的价值不只是“又一个 BitTorrent 工具”,而是把传统上偏 C/C++ 的网络守护进程场景,用 Rust 重新包装成了更现代的可运维服务。
原文链接:https://github.com/namazso/rsbtd
评论区
写评论还没有评论