zlib-rs 进入 Firefox 151:gzip 压缩/解压正式切到 Rust
Firefox 从 151.0.0 开始,已经把 gzip 压缩/解压实现切换到 zlib-rs。这意味着一个核心浏览器组件正式把传统 zlib 路径替换为 Rust 实现,同时获得了更好的安全性与相当可观的性能收益。
这次集成并不只是“换个库”那么简单:
- Trifecta 团队从 2024 年夏天开始与 Mozilla 合作,前后花了近两年才真正进到生产环境
- zlib-rs 虽然提供 drop-in replacement 体验,但在不同压缩级别上采用了更接近 zlib-ng 的算法,因此输出字节与压缩长度会与 stock zlib 略有不同,Firefox 测试也因此需要调整
- 集成过程中还撞上了 Intel 13/14 代 Raptor Lake CPU 的已知硬件问题:LLVM 生成的某条字节写入指令会偶发触发错误,Firefox 最终通过一段可审计的小型
unsafe绕过了这个坑 - 根据文中基准,zlib-rs 在 Linux x86_64 上的一次性解压提升非常夸张,部分场景可达 20x 以上
这条新闻的意义不只是“某个 crate 更快了”,而是 Rust 基础设施正在真实进入超大规模终端软件的底层路径。
文章链接:https://trifectatech.org/blog/zlib-rs-in-firefox/
原文链接:https://old.reddit.com/r/rust/comments/1u7cgen/zlibrs_in_firefox_trifecta_tech_foundation/
just 1.53.0:十周年版本带来列表类型与并行依赖映射
命令运行器 just 迎来了一个很适合纪念节点的版本:作者回顾自己十年前提交的第一条 commit,同时发布了 just 1.53.0,核心新特性是 lists(列表)。
这次更新的关键点很清楚:
- just 过去基本把所有值都当作字符串处理;现在改成了“所有值都是字符串列表”,原本的字符串可视作长度为 1 的列表
- 这一变化让不少过去难以优雅表达的能力终于落地,比如变参的正确引用、把变参批量映射成依赖、以及并行展开任务
- 作者给出的例子里,
[parallel] build *args: *(compile *args)可以把参数列表映射成并行构建依赖 - 作者还提到 just 从早期开始就保持了比较完整的单元测试与集成测试,目前累计已有 2076 个测试
从传播角度看,这不是那种“新做了一个小工具”的帖子,而是 Rust 生态里成熟生产力工具的一次类型系统升级。
发布说明:https://github.com/casey/just/releases/tag/1.53.0
原文链接:https://old.reddit.com/r/rust/comments/1u7qtfr/happy_ten_years_of_just_and_lists/
xxutf-rs:把 Unicode 规范化与大小写折叠推到 GB/s 级别
作者发布了 xxutf-rs,这是其底层 C 库 xxUTF 的 Rust 绑定,目标非常直接:把 Unicode normalization 与 case folding 这些通常不太“性感”的文本处理基础能力,做出接近 GB/s 级别 的吞吐。
项目当前状态与亮点包括:
- crate 仍处在 alpha 阶段,但作者表示测试覆盖已经足以支撑对外试用
- 主要提供 NFC / NFD 等规范化路径,以及大小写折叠能力
- API 设计明确不想简单复刻 ICU4X 或
unicode-normalization,而是探索更偏性能导向的接口形态 - 作者还专门写了一篇博客解释 Unicode 规范化本身是什么、为什么值得关心
这类项目很容易被忽视,但只要你做搜索、索引、排序、标识符匹配、跨语言文本处理,Unicode 基础设施的性能与正确性都会直接影响上层产品体验。
项目链接:https://github.com/dzfrias/xxutf-rs 博客说明:https://dzfrias.dev/blog/xxutf/#unicode-normalization
原文链接:https://old.reddit.com/r/rust/comments/1u7r8m7/unicode_normalization_at_gbs/
Fearless Embedded Rust:用 Pico W 驱动乐高小车的 no_std 异步实战
这篇文章展示了一个很有“Rust 教学味”的项目:用 Raspberry Pico W、Embassy、no_std async Rust 和乐高动力组件,做一辆可以通过 Wi‑Fi/TCP 从电脑远程控制的无线小车。
它有意思的地方不只是“能跑起来”,而是作者把很多嵌入式 Rust 的典型约束都压进了一个相对直观的项目里:
- 运行环境是
no_std,没有分配器,很多缓冲区都要静态规划 - 使用 Embassy 处理 async 执行、网络、USB 日志等能力,让并发模型保持清晰
- 不是用常见 hobby 项目那种高层 Python 路线,而是直接做更贴近底层的 Rust 实现
- 小车通过 Wi‑Fi 接收控制命令,仍然保持全无线,且尽量复用乐高现成供电与电机体系
如果说很多 embedded Rust 内容还停留在点灯、串口、温湿度传感器,这篇算是把 网络、驱动、供电、并发、调试链路 都揉进了一个更完整的实战案例里。
文章链接:https://dystroy.org/blog/picomobile/
原文链接:https://old.reddit.com/r/rust/comments/1u7jiir/fearless_embedded_rust_driving_a_lego_car_with_a/
From Rust中文社区 Mike
社区学习交流平台订阅:
评论区
写评论还没有评论