10 个版本 (6 个稳定版)
2.3.0 | 2022 年 6 月 6 日 |
---|---|
2.2.1 | 2022 年 3 月 16 日 |
2.2.0 | 2022 年 2 月 28 日 |
2.2.0-rc1 | 2022 年 1 月 28 日 |
2.0.0 | 2021 年 6 月 16 日 |
#1608 in WebAssembly
14,660 每月下载次数
在 10 个 crate 中使用 (通过 wasmer-asml-fork)
1MB
18K SLoC
wasmer-engine-dylib
Wasmer Dylib 引擎可以与任何基于 wasmer-compiler
的编译器实现一起使用,该编译器能够生成 位置无关代码 (PIC)。
在编译器生成函数的机器代码后,Dylib 引擎会生成一个共享对象文件,并通过 dlsym
将其链接起来,使其可以通过 wasmer
API 使用。
这使得 Wasmer 能够实现 极快的 本地启动时间。
注意:您可以在以下位置找到一个使用 Dylib 引擎的完整示例 这里。
与 wasmer-engine-universal
的区别
Dylib 引擎和通用引擎主要在模块的加载/存储方式上有所不同。使用相同的编译器,它们将具有相同的运行时速度。
然而,Dylib 引擎使用操作系统的共享库加载器(通过 dlopen
)并且因此能够在反序列化序列化的 Module
时实现更快的启动时间。
要求
wasmer-engine-dylib
crate 需要您的系统上有一个可用的链接器来生成共享对象文件。
注意:当进行 交叉编译 到其他目标时,默认使用的命令将是
clang
。
您可以在类似Debian的系统上通过以下命令轻松安装LLVM(它提供clang
)
bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)"
或者在macOS上
brew install llvm
或者通过LLVM提供的任何预构建的二进制文件。
依赖项
~10–20MB
~305K SLoC