< 返回版块

Mike Tang 发表于 2026-05-04 09:09

Rust Arc重构:一个18倍性能提升的案例

核心问题

RateKeeper 速率限制服务在处理大型选择器池(25,000 个候选键)时,无法达到 5k RPS 的目标性能,只能跑到约 3.3k-3.5k RPS,p99 延迟高达 18.5-18.7 毫秒。

问题根源

代码在语义上看起来简单、安全、易理解,但热路径里埋着明显的性能陷阱:

  • 每次请求都深度克隆大型不可变状态
  • 即使最终只需要返回一个键,每个请求也会:
    • 克隆完整的 quota 配置
    • 复制多达 25,000 个键
    • 重新计算整个键集的 generation 哈希
  • 这些键值并不会发送给 Dragonfly,只是在应用层用来把序号映射回配置键

性能数据

  • 优化前基准:实际 RPS 约 3.3k-3.5k,应用层平均延迟约 9.0 毫秒
  • Criterion 基准(25k 键池):当前 resolve 操作约 2.17 毫秒,配置 quota 克隆约 0.79 毫秒,仅元数据处理约 1.30 毫秒

关键教训

在 Rust 中写出语义上“廉价”“安全”“好推理”的代码,并不代表它在大规模不可变状态下也足够便宜。真正的瓶颈可能就藏在这些反复复制和哈希的热路径里。

原文链接:https://baarse.substack.com/p/rust-arc-refactor-that-turned-18?r=qjwrd&utm_campaign=post&utm_medium=web&triedRedirect=true

RHWP 0.7.9:用 Rust/WASM 构建的韩国 HWP/HWPX 文档查看器/编辑器

项目概述

RHWP 是一个面向韩国 Hancom HWP / HWPX 文档格式的开源查看器/编辑器。这类格式被大量日常使用,但长期缺乏真正可用的开源实现,专有格式锁定问题一直很严重。

技术特点

  • 纯 Rust 开发,编译目标为 WASM
  • 跨平台运行:浏览器版本、VS Code 扩展,以及 Chrome / Firefox / Safari / Edge 扩展均可用
  • 提供 npm 包(@rhwp/editor@rhwp/core)和原生 Rust crate

技术亮点

  • 面向复杂专有二进制格式解析
  • 包含 1,100+ 测试用例覆盖边界情况
  • 作者还公开了 mydocs/ 中的 AI 结对编程笔记,记录设计决策、提示词和人机协作过程

项目信息

  • 仓库:https://github.com/edwardkim/rhwp
  • 许可证:MIT
  • 最新版本:v0.7.9

原文链接:https://www.reddit.com/r/rust/comments/1t2iyy5/rhwp_079_a_rustwasm_viewereditor_for_hwphwpx/

PicoKubelet:在ESP32上运行的真实Rust Kubelet

项目概述

picokubelet 是一个运行在 ESP32-S3 开发板上的 no_std Rust kubelet 实现,能够把自己注册成 k3s 集群里的合法工作节点,调度器会把它当成真实节点看待。

技术栈

  • 硬件平台:Waveshare ESP32-S3-ETH
  • 核心框架:esp-hal + embassy
  • 网络通信:embedded-tls 连接 k3s API Server
  • 并发架构:两个协调器任务共享一个 ApiClient
  • 数据序列化:当前主要依赖手写 JSON 输出

已实现功能

  • 节点注册、租约续期、状态报告
  • MemoryPressure 绑定真实堆内存
  • Wi-Fi 断线恢复且不丢状态
  • lastTransitionTime 仅在状态变化时更新

值得关注的点

它明确不会运行 Pod,但已经把一个嵌入式 no_std Rust 节点接进了真实 k3s 控制面,这个方向本身就很有意思。

原文链接:https://www.reddit.com/r/rust/comments/1t2nt64/picokubelet_a_real_rust_kubelet_on_a/

WasmGPU:基于 WebGPU × WebAssembly 的渲染和计算引擎

项目简介

WasmGPU 是一个面向浏览器端科学工作负载的渲染与计算引擎,把 TypeScript WebGPU 引擎和 Rust WebAssembly 驱动组合在一起。

技术架构

  • 核心实现:WebAssembly 部分由 Rust 编写
  • Rust 负责关键路径,包括:
    • 面向数据的变换存储和传播
    • 动画与 glTF 资源处理
    • 边界计算与视锥剔除
    • ndarray 索引与 JavaScript 互操作的零拷贝暂存
    • 经由 Binaryen 和 SIMD128 优化的低分配运行时基础设施

性能表现

在 RTX 4060 上的银河系示例测试中:

  • 25 万个点:约 450 fps
  • 838 万个点:约 45 fps

项目资源

  • 代码仓库:https://github.com/Zushah/WasmGPU
  • 项目网站:https://zushah.github.io/WasmGPU
  • 在线示例:https://zushah.github.io/WasmGPU/examples/galaxy.html

原文链接:https://www.reddit.com/r/rust/comments/1t1pprc/webgpu_webassembly_rendering_and_computing_engine/

评论区

写评论

还没有评论

1 共 0 条评论, 1 页