webrtc 0.20.0:Rust WebRTC 开始支持自定义异步运行时
webrtc-rs 是一个用 Rust 实现的 WebRTC 库,v0.20.0 是新架构的首个正式版本,v0.17.x 系列进入维护阶段。
新版本通过 Runtime trait 抽象计时器、I/O 和任务派发等运行时能力。channel、Mutex、Notify 等基于 waker 的组件不再绑定 Tokio。项目提供了基于 async-executor 和 async-io 的自定义运行时示例,也提供 MockRuntime 支持虚拟时钟测试。
性能测试集中在 data channel。在多连接聚合场景中,默认配置达到 Pion 的 1.70–2.33 倍;启用 dedicated reactor 后最高达到 3.24 倍。固定负载下,峰值 RSS 和 CPU cycles 也有所下降。
原文链接:https://webrtc.rs/blog/2026/07/31/announcing-webrtc-v0.20.0.html
urandom:重新整理 Rust 随机数库的常用 API
urandom 是一个从 Rust 随机数库 rand fork 出来的新 crate,作者通过一篇文章说明了项目的设计原因。作者关注的主要问题是 API 的可发现性:rand 的部分常用功能分布在多个 extension trait 中,开发者需要记住不同方法所属的 trait 或类型。
urandom 将 uniform、choose、shuffle 等操作集中到 Random 包装器上,并将 Rng 设计为 sealed trait。浮点数生成提供专用的 next_f32 和 next_f64 路径。项目还把显式 seed 的稳定输出作为 API 契约,保证受支持平台和语义兼容版本之间的可复现性。
原文链接:https://casualhacks.net/blog/2026-07-27-why-i-forked-rand.html
Rust 编译器 2026 年 7 月性能总结:rustdoc benchmark 降幅约 28%
这篇文章是 Nicholas Nethercote 发布的 Rust 编译器性能总结,统计区间为 2025-12-03 至 2026-07-29,内容覆盖 rustc、rustdoc、Clippy 和新 trait solver。
根据文中的 rustc-perf 数据,整体平均 wall-time 下降 5.59%;排除 rustdoc 相关改进后,平均下降幅度仍为 2.90%。rustdoc 方面,多项优化降低了 impl 处理开销,同时将相关 benchmark 纳入 PGO 训练集,相关测试的相对 wall-time 下降约 28%。Clippy 通过减少空 visitor 方法调用降低了虚派发开销。新 trait solver 在部分 benchmark 上的耗时从约 27 秒降至 1 秒以内。
原文链接:https://nnethercote.github.io/2026/07/31/how-to-speed-up-the-rust-compiler-in-july-2026.html
Knok:把静态形状张量图接入 Rust 的构建流程
Knok 是一个用 Rust 构建工具链编译静态形状张量图的项目,目标是在 build.rs 中完成图生成、编译和类型化封装。
项目在构建阶段追踪普通 Rust 函数、生成计算图,再通过 MLIR 降至 IREE,最后生成带有 Rust 类型信息的 wrapper。图定义、编译产物、后端信息和函数签名会在构建过程中一起生成。图发生变化时,wrapper 和 artifact 会重新构建;输入输出 shape 由类型系统参与约束。
当前项目支持 LLVM CPU、Metal、Vulkan 和 CUDA 后端,并提供实验性的 reverse-mode autodiff。
原文链接:https://gmmyung.github.io/posts/2026-07-30-knok/
评论区
写评论还没有评论