Wasmer 2.0 已经发布并带有 SIMD、改进等

在第一个版本发布近六个月后, 宣布启动 Wasmer 项目的新版本,这是其第二个主要版本 并且其中的重要更改已达到第二个版本中的内部 API 不兼容的程度,尽管还添加了新功能以增加稳定性、安全性和性能改进。

对于那些不知道的人 Wasmer,你应该知道它开发了一个运行时来执行 WebAssembly 模块 可用于创建可在多个操作系统上运行的通用应用程序,并可以隔离运行不受信任的代码。

通过将应用程序代码编译成低级 WebAssembly 中间件来提供可移植性 它可以在任何操作系统上运行,也可以集成到其他编程语言的程序中。 程序是运行 WebAssembly 伪代码的轻量级容器。

这些 容器不依赖于操作系统,可以包含最初用任何语言编写的代码 编程。 Emscripten Toolkit 可用于编译为 WebAssembly。 要将 WebAssembly 转换为当前平台机器代码,支持连接不同的构建后端(Singlepass、Cranelift、LLVM)和引擎(使用 JIT 或生成机器代码)。

访问控制和与系统的交互是通过 WASI(WebAssembly 系统接口)API 提供的,该 API 提供了用于处理文件、套接字和操作系统提供的其他功能的编程接口。

应用程序与主系统隔离 并且它们只能访问声明的功能(基于对每个资源(文件、目录、套接字、系统调用等)的操作的管理能力的安全机制。

Wasmer 2.0 的主要新奇之处

在提出的这个新版本中,提到 版本号的重大变化 由瓦斯默 与引入内部 API 不兼容更改有关, 根据开发商的说法, 不会影响99%的用户 平台的任何方式。

在主要兼容性更改中,序列化 Wasm 模块的格式也发生了变化(在 Wasmer 1.0 中序列化的模块在 Wasmer 2.0 中将不可用)。

另外, 突出显示了对 SIMD 指令的支持 (单指令,多数据)其中 允许数据操作的并行化. 使用 SIMD 可以显着提高生产力的领域包括机器学习、视频编码和解码、图像处理、物理过程模拟和图形处理。

突出显示了对引用类型的支持, 允许 Wasm 模块访问其他模块或基础环境中的信息,并进行了显着的性能优化。 带有浮点数的 LLVM 运行时速度提高了大约 50%。

通过减少需要内核调用的情况,显着加快了函数调用. Cranelift 代码生成器的性能提高了 40%。 减少数据反序列化时间。 为了更准确地反映要点,引擎名称已更改:JIT → Universal、Native → Dylib(动态库)、Object File → StaticLib(静态库)。

最后 如果您有兴趣了解有关Wasmer的更多信息, 你应该知道项目代码是用 Rust 编写的,它有 MIT 许可证,你可以在它的官方网站上查看它的详细信息 以下链接。

安装Wasmer运行时

另一方面,对于那些对能够运行WebAssembly容器感兴趣的人,您只需要在系统上安装Wasmer运行时,而无需外部依赖。

重要的是要提到 Wasmer可以在任何平台上运行 在macOS,Linux和Windows上,唯一的要求是在系统上安装其运行时。

为此,只需在终端中运行以下命令:

curl https://get.wasmer.io -sSfL | sh

然后,他们必须执行所需的文件:

wasmer test.wasm

如果您需要更多有关Wasmer的工作原理或想要了解其源代码,则可以查阅所有内容。 在下面的链接中。


成为第一个发表评论

发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责资料:AB Internet Networks 2008 SL
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。