1个稳定版本

1.0.2 2021年2月6日

#1434WebAssembly

MIT 许可证

1MB
18K 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提供的预构建的二进制文件中的任何一个

依赖关系

~8–19MB
~282K SLoC