2026 年 Wasmtime 47 版本发布:默认开启垃圾回收与异常处理,多方面优化值得期待! Wasmtime 47 版本发布默认开启垃圾回收与异常处理多方面优化值得期待2026 年 7 月 20 日Nick Fitzgerald 发布消息在 [Wasmtime 47 版本](https://github.com/bytecodealliance/wasmtime/releases/tag/v47.0.0) 中WebAssembly 垃圾回收Wasm GC和异常处理提案默认开启助力更多语言在 WebAssembly 及 Wasmtime 运行环境中使用这是 Wasmtime 重大变革与多年工程努力的成果。Wasmtime[Wasmtime](https://wasmtime.dev/) 是一款具备快速、安全和可移植特点的 WebAssembly 运行时能独立运行、轻量级且易于嵌入。其维护者致力于开放标准积极参与 WebAssembly 标准化工作。Wasm GCWebAssembly 早期版本中采用对象和引用数据模型的高级语言需嵌入自身垃圾回收器导致 .wasm 二进制文件臃肿且部分常用技术无法使用。[Wasm GC](https://github.com/WebAssembly/gc) 提案改善了这一状况为 WebAssembly 增加对高级语言的高效支持扩展语言让 Wasm 程序可定义类型及子类型关系运行时处理生命周期管理和释放工具链可利用运行时垃圾回收器为更多语言以 WebAssembly 为目标打开大门。例如展示了 Wasm 程序定义[二叉树的节点类型](https://github.com/bytecodealliance/sightglass/blob/98ff8a598b4b4f6eab0d8f391118411990efde96/benchmarks/splay/splay.wat#L15-L22)新实例通过 [struct.new $node](https://github.com/bytecodealliance/sightglass/blob/98ff8a598b4b4f6eab0d8f391118411990efde96/benchmarks/splay/splay.wat#L310) 创建字段通过指令访问。Wasm 异常处理Wasm 的[异常处理提案](https://github.com/WebAssembly/exception-handling)为 WebAssembly 上的异常处理提供高效支持使 WebAssembly 更适合有异常处理机制的语言编译。若无此提案工具链需实现自定义调用约定增加 .wasm 文件大小和运行时开销。有了该提案采用 throw 和 try/catch 风格结构运行时用栈展开方法正常返回路径无开销实现更快执行速度和更小文件。Wasmtime 的垃圾回收实现Wasmtime 采用 [Cheney 式半空间复制垃圾回收器](https://en.wikipedia.org/wiki/Cheney%27s_algorithm)垃圾回收堆分“活动”和“空闲”半空间回收时存活对象复制到新活动空间更新垃圾回收根指向。分配操作简单移动指针无需读写屏障。底层复用 WebAssembly 线性内存实现和沙箱化垃圾回收堆引用为 32 位索引在安全、速度和可移植性方面有好处。为增强对垃圾回收器正确性的信心扩展模糊测试基础设施扩展 [wasm-smith](https://github.com/bytecodealliance/wasm-tools/tree/main/crates/wasm-smith) 支持 GC 提案补充两个模糊测试器。目前工程工作主要集中在正确性性能关注少与 [V8](https://v8.dev/) 和 [SpiderMonkey](https://spidermonkey.dev/) 中的垃圾回收器相比吞吐量和延迟表现不佳主要针对生产环境常见用例设计。下一步计划还有大量[性能优化工作](https://github.com/bytecodealliance/wasmtime/issues?qis%3Aissue%20state%3Aopen%20gc%20label%3Awasm-proposal%3Agc%20label%3Aperformance)要做如扩展编译器别名分析优化并加入 GC 类型信息。功能上下一个重要里程碑是在[惰性值降低](https://github.com/WebAssembly/component-model/issues/383)基础上对[垃圾回收与组件模型的集成](https://github.com/WebAssembly/component-model/issues/525)进行原型设计。总结很高兴达到这一里程碑欢迎试用 [Wasmtime](https://wasmtime.dev/) 新启用的垃圾回收和异常处理支持并分享使用体验。1. 注意GC 提案已合并到 WebAssembly 主规范中因此提案页面现在是特定时间点的存档快照。 ↩2. 与 GC 提案一样异常处理提案也已合并到 WebAssembly 主规范中提案仓库现在是一个存档的历史快照。 ↩3. 在撰写本文时wasm-smith 在 Wasm GC 方面唯一的不足是它永远不会生成非空引用。 ↩

相关新闻

最新新闻

Taotoken用量看板如何帮助个人开发者清晰掌控API成本

Taotoken用量看板如何帮助个人开发者清晰掌控API成本

Taotoken用量看板如何帮助个人开发者清晰掌控API成本 对于个人开发者而言,在项目开发中引入大模型能力,除了关注功能实现,成本控制同样是一个现实且重要的课题。直接对接多个模型厂商,意味着需要分别登录不同平台查看账单、汇总费…

2026/7/25 19:10:24
Godot游戏开发性能优化:ECS架构与GECS插件实战指南

Godot游戏开发性能优化:ECS架构与GECS插件实战指南

1. 项目概述:为什么要在Godot里引入ECS?如果你用Godot做过稍微复杂点的项目,尤其是那种有成百上千个需要实时更新、交互的实体(比如RTS游戏里的小兵、弹幕游戏里的子弹、模拟经营游戏里的市民),大概率会遇到…

2026/7/25 19:10:24
YOLOv11在智慧交通中的车辆识别应用与优化

YOLOv11在智慧交通中的车辆识别应用与优化

1. 项目概述:当计算机视觉遇上智慧交通在智慧城市建设的浪潮中,车辆类型自动识别技术正成为交通管理、安防监控等领域的基础设施。这个基于YOLOv11的目标检测系统,通过深度学习算法实现了对轿车、卡车、公交车等11类车辆的精准识别。不同于传…

2026/7/25 19:10:24
基于BERT的RAG智能分块与分类技术实践

基于BERT的RAG智能分块与分类技术实践

1. 项目背景与核心价值在信息检索和知识管理领域,RAG(Retrieval-Augmented Generation)技术已经成为连接海量非结构化数据与精准问答系统的关键桥梁。而其中最关键的一环,就是对文档进行智能分块(Chunk)并打…

2026/7/25 19:10:24
AI图像生成提示词工程:结构化指令与11种风格实战模板

AI图像生成提示词工程:结构化指令与11种风格实战模板

在实际使用 GPT Image 这类 AI 图像生成工具时,最令人头疼的往往不是模型能力,而是如何用文字精准地描述你脑海中的画面。经过大量测试和迭代,我发现一套能够稳定输出高质量、风格化图像的“万能提示词”结构。这套结构并非简单的关键词堆砌,而是基于对模型理解能力的拆解,…

2026/7/25 19:10:24
AI Agent开发从入门到精通:2026保姆级学习路线与实战指南

AI Agent开发从入门到精通:2026保姆级学习路线与实战指南

最近两年,AI Agent(智能体)的热度持续攀升,从AutoGPT的爆火到各类企业级应用落地,它正从一个前沿概念迅速转变为改变工作流和产品形态的核心技术。很多开发者,无论是刚毕业的学生还是希望技术转型的资深工程…

2026/7/25 19:05:24

月新闻