< 返回版块

Mike Tang 发表于 2026-07-22 09:07

Wasmtime 47:默认启用 Wasm GC 与异常处理

Wasmtime 47 是 Bytecode Alliance 的 WebAssembly 运行时版本,默认启用了 WebAssembly GC 和异常处理支持。

Wasm GC 允许模块定义 struct、array、引用类型和子类型关系,并由运行时管理对象生命周期;异常处理支持 WebAssembly 层面的 try/catch 语义。Wasmtime 团队采用 Cheney 风格的半空间复制 GC,并将 GC heap 建立在线性内存之上。相关实现还配套扩展了 fuzzing 基础设施。

原文链接:https://bytecodealliance.org/articles/wasmtime-gc

Syn 3.0.0:更新 Rust procedural macro 的解析和 AST 接口

Syn 是 Rust procedural macro 常用的解析和 AST 库,3.0.0 版本更新了相关接口,并为后续语法扩展预留空间。

新版本加入一组非穷举的 *Modifiers 结构,用于表示未来可能继续扩展的语法位置。部分 AST 节点也调整了命名和表示方式,例如 Type::BareFn 改为 Type::FnPtrArm 的 guard 改由新的 Pat::Guard 承载,同时更完整地保留类型和 where 谓词上的 attributes。

原文链接:https://github.com/dtolnay/syn/releases/tag/3.0.0

mmap behind the scenes in a database:append-only 数据库中的 mmap 使用方式

这篇文章讨论了 append-only 数据库使用 mmap 的条件、数据生命周期和内存边界。

作者的实现方式是:新写入仍使用普通文件 I/O 和 WAL,seal 之后的只读 segment 再通过 mmap 映射读取。只读 segment 对应 file-backed page,内存紧张时可以由内核回收,再次访问时按需载回。查询过程中创建的 hash table、buffer 和临时结果仍属于匿名内存,需要由应用自行管理。

原文链接:https://savannahar68.medium.com/mmap-behind-the-scenes-in-a-database-263186dda699

评论区

写评论

还没有评论

1 共 0 条评论, 1 页