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 方面唯一的不足是它永远不会生成非空引用。 ↩

相关新闻

当导师把“不许用AI”改成“善用AI”时,我靠这3个工具实现了学术进阶

当导师把“不许用AI”改成“善用AI”时,我靠这3个工具实现了学术进阶

去年这个时候,导师还在组会上三令五申“论文必须自己写,不许碰AI”。今年开题,他却在群里甩了一句:“AI可以用,但要用对,别给我整出AI味儿。”风向变了。但随之而来的是更棘手的问题:用AI怕查重…

2026/10/17 23:53:59 阅读更多 →
OfficeCLI:AI驱动的文档自动化工具实战指南

OfficeCLI:AI驱动的文档自动化工具实战指南

如果你还在手动点击Office套件制作文档,可能已经落后了一个时代。最近在开发者圈子里热议的OfficeCLI,正在用AI重新定义文档工作流——不是简单的模板填充,而是真正的意图驱动生成。想象一下:在终端输入一行命令,AI就能…

2026/10/17 23:54:46 阅读更多 →
基于YOLOv11的作物杂草识别系统实战解析

基于YOLOv11的作物杂草识别系统实战解析

1. 项目背景与核心价值 去年指导本科生毕业设计时,遇到一个特别典型的场景:农学专业的学生需要统计试验田杂草分布,传统人工计数方法耗时耗力。当时我们尝试用目标检测技术解决这个问题,效果出乎意料——这正是今天要分享的基于YO…

2026/10/17 23:55:37 阅读更多 →

最新新闻

LiteLLM Proxy 启动方式与 Python 环境管理:用 uv 与虚拟环境把 TaoToken 接入本地代理

LiteLLM Proxy 启动方式与 Python 环境管理:用 uv 与虚拟环境把 TaoToken 接入本地代理

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 20:04:40 阅读更多 →
基于Go语言的区块链学历认证系统:从存证到验真全流程实践

基于Go语言的区块链学历认证系统:从存证到验真全流程实践

简介:一套基于Hyperledger Fabric的学历学位认证管理系统完整源码及部署文档,面向高校计算机相关专业学生、教师及区块链开发者,适用于毕业设计、课程设计或学历认证类项目前期调研与二次开发。压缩包共723个文件,整体约15.56MB&a…

2026/10/18 20:04:40 阅读更多 →
研华IPC-510工控机搭建工业数据采集与自动化监控方案

研华IPC-510工控机搭建工业数据采集与自动化监控方案

做自动化项目的老工程师估计都遇到过这种场景:产线上设备明明都有通讯口,但数据就是拿不上来,老板要的报表靠人工拿着纸笔去抄,设备报警只能等操作员发现再跑过去看。这背后缺的往往不是采集模块,而是一个能常年7x24小…

2026/10/18 20:04:40 阅读更多 →
安全审计不是扫漏洞:构建可信交付的工程闭环

安全审计不是扫漏洞:构建可信交付的工程闭环

1. 安全审计不是“扫漏洞”,而是构建可信交付的工程闭环最近帮一家做SaaS工具的团队做代码健康度复盘,他们刚上线一个新模块,CI流水线里跑着SonarQube和ESLint,但安全团队突然发来一份报告:三个高危SQL注入点、两个硬编…

2026/10/18 20:04:40 阅读更多 →
无监督学习实战指南:聚类、降维与异常检测全解析

无监督学习实战指南:聚类、降维与异常检测全解析

接手一批新数据时,我最先问自己的不是“能不能建模预测”,而是“这批数据里到底藏着几类模式”。这个问题往里挖,核心就是无监督学习。无监督学习说的是:在没有任何标签、没有标准答案的情况下,靠数据本身的结构去找分…

2026/10/18 20:04:40 阅读更多 →
华为IGMP组播原理与实战:从精准调度到排障精要

华为IGMP组播原理与实战:从精准调度到排障精要

1. 为什么组播不是“群发”,而是一场精准的流量调度革命?很多人第一次听说IGMP,下意识就把它和微信群发、邮件群抄送划等号——“不就是让一台设备把数据同时发给多台设备吗?”这个理解方向错了,而且错得挺关键。我刚接…

2026/10/18 20:03:40 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →