Wasm 3.0 完成 — Memory64、多内存、GC 和 SpecTec 现已正式发布

WebAssemblyWasm运行时工具

关键更新

WebAssembly 3.0 已完成并发布(于 2025 年 9 月 17 日最终确定)。该规范在多个结构方面推动了平台的发展,这对实际工程至关重要:真正的 64 位地址空间(Memory64)、每个模块对多内存的第一类支持、为托管值提供的正式指定的主机垃圾回收模型(GC)、简化主机与 Wasm 字符串互操作的新 JS 字符串内置,以及一个新的 SpecTec 工具链,可以从单一源生成散文、形式语义和测试文档。公告指出,大多数主要浏览器已经开始支持,并且独立引擎(例如 Wasmtime 等)也在计划中添加全面支持。(webassembly.org)

重要性

Memory64 消除了旧的 ~4GB 上限,使 Wasm 能够处理大型内存工作负载和数据处理任务,这些任务以前需要本地二进制文件或复杂的分片;预计数据密集型代码的移植将变得更加容易,处理大型数据集的变通方法也会减少。多内存和改进的文本/二进制特性消除了尴尬的模块链接黑客,并使编译单元的可靠静态合并或模块链接成为可能,这简化了跨语言运行时和静态打包。主机 GC 和更丰富的引用模型是语言可移植性最重要的变化:它们让编译器和工具链能够针对 Wasm,同时依赖于标准、高效的 GC 模型,这大大降低了对 JVM/CLR/Go 风格托管语言的第一类支持的门槛,并为 Wasm 内部更丰富的语言运行时提供了支持。SpecTec 的机器生成散文 + 形式语义提高了规范的可靠性,并应减少运行时和工具之间的不匹配,改善测试覆盖率并使回归检测更加简单。所有这些变化都是向后兼容的,但确实需要工具链和运行时的更新;团队的实际下一步是固定并测试更新的运行时(浏览器和 Wasm 引擎),针对 Memory64/GC 路径运行现实基准,并在迁移生产工作负载之前关注 wasm-bindgen、Emscripten、编译目标和云 Wasm 平台的更新。(webassembly.org)

来源

继续阅读