自 2024 年 5 月发布上一版更新后,轻量级 WebAssembly 解释器 Wasmi 历经数月打磨,终于正式发布 1.0 稳定版。这个版本不仅清理了历史弃用 API,承诺未来接口稳定性,也标志着 Wasmi 在功能、性能、安全性上的成熟,可广泛应用于 IoT 设备、插件系统、云宿主、智能合约乃至游戏主机等场景。
1.0 的意义:API 与能力全面成熟
- API 稳定承诺:1.0 起不再保留旧版弃用接口,开发者可放心升级。
- 面向嵌入式场景:低内存占用、可预测执行、可与宿主良好集成,是嵌入式与资源受限环境的高性价比 Wasm Runtime。
支持的全新 Wasm 提案
自 2024 年 5 月以来,Wasmi 紧跟 Wasm 生态推进,完成多项提案实现:
- multi-memory:单模块多线性内存,实现用途隔离。
- memory64:支持 64 位寻址,突破 4GB 内存上限。
- custom-page-sizes:最小 1 字节页尺寸,适配超小型设备。
- simd / relaxed-simd:提供 128 位 SIMD 指令(可选启用),加速计算密集型任务。
- wide-arithmetic:新增 128 位
add/sub/mul运算,利于大整数应用。 - tail-call、extended-const 等 Wasm 3.0 提案:提前支持未来标准。
凭借这些更新,Wasmi 已完整覆盖 Wasm 2.0,甚至领先实现多项 Wasm 3.0 能力。
引擎优化:性能与内存双提升
- 内部重构:翻译引擎、字节码、执行循环经过大量清理与重写,执行效率和内存占用显著改善。
- M2 Pro 基准测试:Coremark 等测试均显示较旧版本有稳定收益,尽管仍沿用 2024 年引入的解释器架构。