Wasmer 2.3 发布

Wasmer 官方宣布在推出下一个大版本 Wasmer 3.0 之前先发布了一个 2.3 版本。

Wasmer 是支持 WASI 和 Emscripten 的通用 WebAssembly 运行时,提供基于 WebAssembly 的超轻量级容器,专注于支持在任何平台上运行 WASM 代码:从桌面端到云端、以及 IoT 设备,并且能嵌入在任何编程语言中。

Wasmer 凭借其多样化的支持和专注于从通用桌面应用程序到 “便携式 ML/AI 应用程序” 的领域,目前仍然是领先的 WASM 运行时之一。

Wasmer 2.3 版本包括的一些更新内容有:

  • 一个新的 stack switcher(corosensei),用于处理从 Host language 到 Wasm world 的 crossing
  • 在 Singlepass 编译器中添加了对 EH frame 生成的支持以帮助调试
  • 通过 Singlepass 支持 Dylib 引擎
  • Wasmer 编译为 Wasm/WASI
  • 将 Cranelift 升级到 0.82

新的 Stack switcher - Corosensei 

受 Rust 1.59 及其对内联汇编的原生支持的启发,Wasmer 开发团队意识到他们可以利用这个新特性来支持新的 stack switcher 的实现。从而开发了一个新的库:corosensei,其测试结果表明:在最新的苹果 M1 芯片中,Switching stack 的中位数仅为约 3.8ns。而在 AMD Ryzen 中,只用了约 4.2ns。“这可能是你在 Rust 中能找到的最快的 stack switcher 的实现了 (甚至可能是在 C 语言中)。”

它甚至支持 linked backtraces 和 panic propagation。

在 Singlepass 中更好地支持 native backtraces 和 dylib 执行

在 Wasmer 2.3 中改进了对 Singlepass 的 unwinding 支持,以提供更好的回溯,并使 Singlepass 与 Dylib 引擎一起运行成为可能。

Wasmer 编译为 Wasm/WASI

此举旨在为了使 WebAssembly 的编译完全在 WebAssembly 中完成,以便在未来的产品中进行应用。

将 Cranelift 升级到 0.82

更新了 Wasmer 以使用最新版本的 Cranelift。因此,Wasmer 2.3 完全支持 SIMD 指令,并使用 ISLE 使用新的实验性编译策略。ISLE 是由 Cranelift 团队创建的用于指令选择和机器代码降低的新领域特定语言 (DSL)。

更多详情可查看官方公告

猜你喜欢

转载自www.oschina.net/news/199370/wasmer-2-3-released
2.3