11 个版本 (3 个稳定版)

1.0.2 2021年2月5日
1.0.1 2021年1月13日
1.0.0-rc12020年12月23日
1.0.0-alpha52020年11月6日
1.0.0-alpha01.02020年8月15日

#1491 in WebAssembly

Download history 241/week @ 2024-01-11 212/week @ 2024-01-18 140/week @ 2024-01-25 84/week @ 2024-02-01 207/week @ 2024-02-08 240/week @ 2024-02-15 262/week @ 2024-02-22 228/week @ 2024-02-29 301/week @ 2024-03-07 231/week @ 2024-03-14 305/week @ 2024-03-21 331/week @ 2024-03-28 256/week @ 2024-04-04 268/week @ 2024-04-11 285/week @ 2024-04-18 247/week @ 2024-04-25

1,117 每月下载量
用于 2 crates

MIT 许可证

1MB
17K SLoC

wasmer-engine-native 构建状态 加入 Wasmer Slack MIT License

Wasmer 本地引擎可以与任何基于 wasmer-compiler 的编译器实现一起使用,该编译器能够生成 位置无关代码 (PIC)。

在编译器为函数生成机器代码后,本地引擎将生成一个共享对象文件,并通过 dlsym 链接它,使其可以通过 wasmer API 使用。

这允许 Wasmer 实现 惊人的快速 本地启动时间

注意:您可以在此处找到使用本地引擎的完整工作示例

wasmer-engine-jit 的区别

本地引擎和 JIT 引擎主要在模块的加载/存储方式上有所不同。使用相同的编译器,它们的运行速度将相同。

然而,本地引擎使用操作系统的共享库加载器(通过 dlopen),因此能够在反序列化序列化的模块时实现更快的启动时间。

要求

wasmer-engine-native crate 需要您的系统上可用的链接器来生成共享对象文件。

我们建议安装 gccclang

注意:在进行跨平台编译到其他目标时,clang 将是默认的编译命令。

您可以通过以下命令轻松地在类似Debian的系统上安装LLVM(它提供了 clang):

bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)"

或者在macOS上

brew install llvm

或者使用LLVM提供的任何预构建的二进制文件

依赖项

~9–19MB
~283K SLoC