1个稳定版本
1.0.2 | 2021年2月6日 |
---|
#1434 在 WebAssembly 中
1MB
18K SLoC
wasmer-engine-native
Wasmer本地引擎可以与任何基于wasmer-compiler
的编译器实现一起使用,该编译器能够生成位置无关代码(PIC)。
在编译器为函数生成机器代码后,本地引擎生成一个共享对象文件,并通过dlsym
将其链接,以便它可以由wasmer
API使用。
这使得Wasmer能够实现极快的 本地启动时间。
注意:您可以在此处找到使用本地引擎的完整工作示例。
与wasmer-engine-jit
的区别
本地引擎和JIT引擎主要在如何加载/存储模块方面有所不同。使用相同的编译器,两者都将具有相同的运行时速度。
然而,本地引擎使用操作系统的共享库加载器(通过dlopen
),因此能够在反序列化序列化模块时实现更快的启动时间。
要求
wasmer-engine-native
crate需要您的系统上可用的链接器来生成共享对象文件。
我们建议安装gcc
或clang
。
注意:在针对其他目标进行交叉编译时,将默认使用
clang
进行编译。
您可以通过以下命令轻松在类似于Debian的系统上安装LLVM(它提供了clang
)
bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)"
或在macOS上
brew install llvm
或通过LLVM提供的预构建的二进制文件中的任何一个。
依赖关系
~8–19MB
~282K SLoC