标签: #rust
关于 GPU、LLM、MLOps、Kubernetes 以及心态的文章 · 22 篇
Bun 把 Zig 重写成 Rust 的 11 天 — AI 大规模迁移里真正能带走的东西
本文用一手资料追踪 Bun 在 11 天内把 53.5 万行 Zig 代码迁到 Rust 的整个过程。2026 年 5 月 3 日到 14 日,动用了最多 64 个 Claude 实例、约 50 条工作流、6,502 个提交,按 API 标价折算约 16.5 万美元。本文关心的不是 11 天这个数字,而是让这个数字得以成立的条件 — 一套与语言无关的测试套件充当预言机、文件对文件一一对应的结构保持式翻译,以及编译器这第二位裁判。文章把
2026-07-31 · 19 分钟阅读 #ai#bun#rust#migration#testingServo 嵌入已登陆 crates.io,而 Verso 已停滞 — 2026 年 Webview 碎片化问题中期盘点
Tauri 保持二进制体积小巧的诀窍,是借用操作系统自带的 webview(WebKitGTK、WKWebView、WebView2),代价则是 webview 碎片化 — 各平台之间的渲染存在微妙差异。曾被视为这一问题突破口的、基于 Servo 的 webview 项目 Verso,在 2025 年 10 月因其 GitHub 镜像发布"不再维护"的公告而被归档,tauri-runtime-verso 这项实验自 2025 年 10
2026-07-17 · 18 分钟阅读 #desktop#tauri#servo#webview#rustRust 1.97 砍掉了 Volta 之前的 GPU — nvptx64 基线上调的内幕
Rust 1.97(2026 年 7 月 9 日)把 nvptx64-nvidia-cuda 目标的最低要求提升到了 PTX ISA 7.0(需要 CUDA 11 及以上驱动)和 SM 7.0(Volta 及以上)。Maxwell、Pascal 两代 GPU 以及 CUDA 10 及更早的驱动,如今都不再是支持目标。本文梳理了实际改变的数字、编译器团队引用的三个具体缺陷(调试符号、原子操作顺序、target-feature 机制)、谁会
2026-07-16 · 18 分钟阅读 #rust#cuda#gpu#compiler#nvidiaRust 标准库验证行动找到的内存安全漏洞是 0 个
由 AWS 和 Rust 基金会主导的 verify-rust-std 行动的成果论文,发表在 2026 年 NASA Formal Methods Symposium 上。作者们称之为"针对某个软件库所报告过的最大规模验证行动",这项工作生成了 16,748 个自动生成的证明工具(harness),其中 11,970 个通过,但在标准库中没有找到任何一个此前未知的内存安全漏洞。论文没有隐藏这个空结果,而是把它直接写进第 4.4 节的标
2026-07-16 · 42 分钟阅读 #formal-methods#rust#verification#memory-safety#testingReact Compiler 移植到了 Rust — 已合并的、尚未合并的,以及那个"10 倍"的数字
2026年6月9日,将 React Compiler 移植到 Rust 的 PR 36173 合并进了 facebook/react 的 main 分支。461 个文件、超过 12 万行代码被加入,"作为 Babel 插件快 3 倍,转换逻辑本身快约 10 倍"这个数字很快就开始在生态圈里流传。但在 PR 正文里,作者 Joseph Savona 本人明确写道——"性能数字是 AI 得出的,我没怎么花时间去验证基准测试的设置"。本文只依
2026-07-16 · 28 分钟阅读 #react#rust#compiler#performance#frontendFerrocene 通过认证的 core — 编译器是 ASIL D,库为什么却止步于 ASIL B
"Ferrocene 的 Rust 编译器已通过 ASIL D 认证"这句话本身没错,但人们通常从中得出的结论并不成立。Ferrocene 把编译器作为 ISO 26262 ASIL D / TCL 3 的"工具"通过了资格认定,这意味着"可以在使用这个工具的前提下开发 ASIL D 软件",而不是"产出物就是 ASIL D"。真正被你的代码每一行都调用的 core 库,走的是另一套独立认证:2025 年 12 月先以 IEC 6150
2026-07-16 · 37 分钟阅读 #embedded#rust#ferrocene#safety#systemsRust 1.97.0 发布了 — 我正好在用那个 cargo 构建 Kubernetes Operator
Rust 1.97.0 于 2026 年 7 月 9 日作为 stable 发布。本文梳理发布说明里真正变了的三件事 — v0 符号修饰(symbol mangling)晋升为 stable、Cargo 的警告拒绝(deny warnings)、以及此前一直被隐藏的链接器输出默认显示 — 并与几天前我正好用那个 cargo 1.97 构建 Kubernetes GPU Operator 的实测经验相互对照。一个诚实的结论:写 Opera
2026-07-11 · 7 分钟阅读 #rust#rust-1.97#release-notes#cargo#kube-rspgrust: 用 Rust 重写 Postgres 并 100% 通过回归测试 — 它真正意味着什么
Malcolm Matis(malisper)公开了用 Rust 重写 Postgres 的 pgrust。它以兼容 Postgres 18.3 为目标,通过了四万六千多个回归测试查询,并能在真实的 18.3 数据目录上启动。本文诚实地剖析这个里程碑为何真的令人印象深刻,以及"100% 通过回归测试"这句话证明了什么、又没有证明什么。我们还会一并审视用 AI 智能体写出的代码、性能主张,以及它距离生产级 Postgres 还有多远。
2026-07-11 · 10 分钟阅读 #postgresql#rust#pgrust#database#regression-tests用 Rust 编写 Kubernetes GPU Operator — 用 kube-rs 诊断真实集群
面对一个 8 节点的实际运行家庭实验室集群(k8s v1.32.5),我用 kube-rs 亲手用 Rust 写了一个 GPU Operator 并跑了起来。我定义了 GpuInventory 自定义资源,并把两个控制器(节点扫描→记录 CR 状态、节点监视→更新 ConfigMap)打包进一个二进制,从集群外部运行。然后是 Operator 真正吐出的结果 — 4 个 GPU 节点中 Ready 为 0 个,也就是整支 GPU 舰队都
2026-07-11 · 8 分钟阅读 #rust#kubernetes#operator#gpu#kube-rsRust 所有权、借用与生命周期完全指南
Rust 在没有垃圾回收器的情况下保证内存安全的三个核心概念 — 所有权、借用、生命周期,从头到尾讲清楚。移动(move)语义、借用检查器的 &mut XOR & 规则、生命周期为什么必需、如何读懂 E0382、E0502 这类典型错误,以及 Copy 与 Clone 的区别,全部以代码示例为中心梳理。
2026-07-03 · 21 分钟阅读 #rust#ownership#systemsRust 枚举、模式匹配与错误处理
Rust 里既没有 null 也没有异常。取而代之的是 Option 和 Result 这两个枚举,以及安全地拆解它们的模式匹配。本文用示例梳理 enum 与代数数据类型、穷尽(exhaustive)的 match、if let 与 let else、用 ? 运算符传播错误,以及用 thiserror 和 anyhow 设计实战错误类型的方法。
2026-07-02 · 18 分钟阅读 #rust#error-handling#pattern-matchingRust 的 trait、泛型与 trait 对象
trait 是 Rust 的接口,而且不止于此。trait 与接口的区别、泛型约束(trait bound)、静态分派与 dyn trait 对象(动态分派)之间的权衡、关联类型、覆盖实现(blanket impl),以及 derive 宏 — 本文以示例为中心梳理 Rust 的抽象化工具。
2026-07-01 · 16 分钟阅读 #rust#traits#genericsRust 智能指针:Box、Rc、Arc、RefCell 与内部可变性
Rust 仅凭所有权规则难以表达的情形,智能指针能够解开。把值放到堆上的 Box、共享所有权的 Rc 与线程安全的 Arc、把编译期借用规则移到运行期的 RefCell 与 Mutex 的内部可变性、Deref 强制转换,以及用 Weak 切断 Rc 造成的循环引用泄漏的方法——全部通过示例来掌握。
2026-06-30 · 17 分钟阅读 #rust#memory#systems异步 Rust:async/await 与 Tokio 运行时
Rust 的 async 和其他语言的路数不一样。Future 只是一个懒惰的状态机,没有执行器去轮询它,什么都不会发生。本文梳理 Future 的本质、.await 的含义、Tokio 运行时与任务/spawn、Send + 'static 约束、异步 trait、用 select! 处理并发,以及为什么绝不能把阻塞和异步混在一起。
2026-06-29 · 16 分钟阅读 #rust#async#tokio用 Rust 构建 Web API:Axum 与 Actix
一份用 Rust 构建 Web 后端的实战指南。以示例为主,梳理 Axum 的处理函数、提取器、路由与共享状态,tower 中间件,用 serde 处理 JSON,用 sqlx 连接数据库,健壮的错误处理,以及与另一位代表性竞争者 Actix Web 的比较。
2026-06-28 · 15 分钟阅读 #rust#web#axum#backend用 Rust 打造 CLI:clap 与 ripgrep·fd·bat 的秘诀
过去几年间,命令行工具悄悄地被重写为 Rust 版本 — ripgrep、fd、bat、eza、zoxide、bacon。本文梳理了这场复兴为何发生,以及你亲自动手写 CLI 时真正需要什么。用 clap 的 derive API 声明参数和子命令,看看没有 GC 的性能优势以及 SIMD、mmap 带来的好处,讲解如何以单一静态二进制文件发布,还涉及 anyhow、indicatif、crossterm 这些必备的 crate。
2026-06-27 · 14 分钟阅读 #rust#cli#toolsRust 宏:声明式宏 vs 过程式宏(derive)
Rust 的宏是一种在编译期生成代码的元编程工具。本文区分了基于模式的声明式宏(macrorules!),与接收代码为 token 流并对其进行操作的过程式宏(derive、attribute、function-like)。我们会看 serde 的 [derive(Serialize)] 到底做了什么、用 syn 和 quote 处理 TokenStream 的流程,以及什么时候不该用宏。
2026-06-26 · 15 分钟阅读 #rust#macros#metaprogramming用 Rust 编写 Kubernetes Operator(kube-rs)
Kubernetes Operator 是把运维知识写进代码的控制器。本文从原理讲起,梳理 Operator 模式(CRD + 控制器 + reconcile 循环),然后讲如何用 kube-rs 构建真正的 Operator:用 CustomResource 派生宏定义 CRD、Api 与 Controller、watcher、reconcile 函数与 requeue、用 finalizer 处理清理逻辑,以及为什么会选 Rust
2026-06-25 · 17 分钟阅读 #rust#kubernetes#operator#kube-rsRust 生态系统之旅:出色的 crate 与项目
Rust 真正的力量,和语言本身一样多地存在于它的生态系统之中。本文从 cargo 与 crates.io 出发,巡览撑起 Rust 的代表性 crate:serde 与 tokio,数据并行的 rayon,数据帧的 polars,HTTP 的 reqwest/hyper 与 Web 框架 axum,数据库的 sqlx/diesel,CLI 的 clap,游戏引擎 Bevy,桌面应用的 Tauri,直到图形领域的 wgpu。此外也会看看
2026-06-24 · 14 分钟阅读 #rust#ecosystem#cratesripgrep 为什么这么快
ripgrep 比 grep 快,靠的不是魔法,而是许多决策的累积:Rust 的 regex crate 所用的有限自动机(不回溯)、SIMD 加速的 memchr、并行目录遍历、尊重 .gitignore、智能大小写、跳过二进制文件,直到 mmap。逐一拆解打造快速工具的原理。
2026-06-17 · 19 分钟阅读 #rust#performance#tools#cli