Bun 用 Rust 重写的代码已合并
Bun 项目用 Rust 重写的分支已经正式合并进主代码库。这不是一个“概念验证”式的小实验,而是 Bun 主线工程演进的一次明确落地。
这条消息值得关注的点
- Rust 重写分支已经合并,说明相关工作进入了更接近主线交付的阶段
- 官方表示后续会发布更详细的技术博客,解释这次重写背后的设计与实现细节
- 在进入非 canary 正式版本前,仍然还有一些性能优化工作要完成
- 此外还会有一批后续 PR 继续做清理和收尾
对 Rust 社区来说,这类成熟项目把关键部分逐步迁到 Rust,通常比“新项目发布”更容易形成外溢影响:既能带来工程信号,也更容易让圈外开发者重新关注 Rust 在基础设施里的位置。
原文链接:https://www.reddit.com/r/rust/comments/1tcrmjs/rewrite_bun_in_rust_has_been_merged/
Zyx v0.153 发布:用 Rust 从零开始构建的机器学习库
作者分享了他花费数年开发的 Rust 机器学习库 Zyx。这个项目的目标不小:从底层后端到高级神经网络模块,尽量用一套纯 Rust 技术栈把完整 ML 框架搭起来。
目前最有看点的部分
- 已完整实现 CUDA、OpenCL、WGPU 后端,PTX、HIP 和 SPIR-V 也已有部分实现
- 提供 Python 绑定,而且 wheel 体积只有约 4MB
- 借鉴 tinygrad 的思路,仅用 9 类基础节点表达全部 PyTorch 操作
- 项目与依赖总代码量大约 5 万行,整体依赖相当克制
设计上的亮点
- 支持动态图与分支,但采用延迟执行模型
- 优化流程可选且可自由组合,包括寄存器分块、CSE、DCE、LICM 等
- 自动微分能力已经具备
- 作者希望它最终成为一个“能在各种硬件上正确运行各种模型”的精简运行时
现阶段的现实情况
性能还没有彻底打磨完成。作者给出的例子里,在 RTX 2060 上跑 MNIST 时,Zyx 每步约 0.9ms,编译后的 PyTorch 约 0.7ms。接下来它还会继续补自动调优、图分割和模式匹配这几块。
原文链接:https://www.reddit.com/r/rust/comments/1td7242/zyx_v0153_released_ml_from_scratch_in_rust/
Scena 1.0.1 发布:Rust 原生 3D 场景图渲染器
Scena 是一个 Rust 原生 3D 场景图渲染器,目标很直接:把类似 Three.js 的模型查看与场景组织工作流,带进 Rust 的原生与浏览器图形开发环境。
它现在已经具备的能力
- 支持 glTF / GLB 加载
- 提供类型化的场景图状态管理
- 采用显式的
prepare()/render()生命周期 - 支持原生与浏览器两条渲染路径
- 可运行在 WebGPU / WebGL2 环境中
- 支持无头渲染,适合测试与 CI 场景
为什么这类项目值得看
Rust 图形生态里一直不缺底层能力,但“易上手、结构清晰、面向真实场景工作流”的 3D 场景层并不算多。Scena 想补的正是这块空白:不是只展示某个底层 API,而是把资源、场景、渲染器和交互整合成一套更完整的开发体验。
原文链接:https://www.reddit.com/r/rust/comments/1tden04/scena_a_rustnative_3d_scenegraph_renderer/
优化 image-rs 中的模糊算法,实现 5 倍性能提升
作者对 Rust image 库里的 fast_blur 做了一轮很漂亮的性能优化。在处理 u8 像素图像时,多个典型参数下都实现了大约 5 倍的加速。
优化结果
- σ=3:从 51.1ms 降到 8.6ms,约 5.9 倍
- σ=7:从 51.5ms 降到 9.0ms,约 5.7 倍
- σ=50:从 52.2ms 降到 10.2ms,约 5.1 倍
关键思路
作者做完 profile 之后发现,热点主要集中在浮点转换、roundf 和 min/max 这些操作上。于是核心优化方向很明确:在 u8 图像场景里,尽量用整数运算替代浮点运算。
这样做之后:
- 省掉了大量浮点转换
- 避免了高频
roundf调用 - 也减少了范围限制相关的额外开销
这类文章的价值不只是“某个函数更快了”,而是再次提醒大家:很多性能瓶颈并不在算法名字本身,而在实现细节里的数据表示与运算方式。
原文链接:https://apas.tel/blog/optimizing-image-rs-blur
评论区
写评论还没有评论