11 个版本 (3 个稳定版)
1.0.2 | 2021年2月5日 |
---|---|
1.0.1 | 2021年1月13日 |
1.0.0-rc1 | 2020年12月23日 |
1.0.0-alpha5 | 2020年11月6日 |
1.0.0-alpha01.0 | 2020年8月15日 |
#1491 in WebAssembly
1,117 每月下载量
用于 2 crates
1MB
17K SLoC
wasmer-engine-native
Wasmer 本地引擎可以与任何基于 wasmer-compiler
的编译器实现一起使用,该编译器能够生成 位置无关代码 (PIC)。
在编译器为函数生成机器代码后,本地引擎将生成一个共享对象文件,并通过 dlsym
链接它,使其可以通过 wasmer
API 使用。
这允许 Wasmer 实现 惊人的快速 本地启动时间。
注意:您可以在此处找到使用本地引擎的完整工作示例。
与 wasmer-engine-jit
的区别
本地引擎和 JIT 引擎主要在模块的加载/存储方式上有所不同。使用相同的编译器,它们的运行速度将相同。
然而,本地引擎使用操作系统的共享库加载器(通过 dlopen
),因此能够在反序列化序列化的模块时实现更快的启动时间。
要求
该 wasmer-engine-native
crate 需要您的系统上可用的链接器来生成共享对象文件。
注意:在进行跨平台编译到其他目标时,
clang
将是默认的编译命令。
您可以通过以下命令轻松地在类似Debian的系统上安装LLVM(它提供了 clang
):
bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)"
或者在macOS上
brew install llvm
或者使用LLVM提供的任何预构建的二进制文件。
依赖项
~9–19MB
~283K SLoC