10 个版本 (6 个稳定版)

2.3.0 2022 年 6 月 6 日
2.2.1 2022 年 3 月 16 日
2.2.0 2022 年 2 月 28 日
2.2.0-rc12022 年 1 月 28 日
2.0.0 2021 年 6 月 16 日

#1608 in WebAssembly

Download history 9025/week @ 2024-03-25 7726/week @ 2024-04-01 6543/week @ 2024-04-08 10128/week @ 2024-04-15 7482/week @ 2024-04-22 6817/week @ 2024-04-29 8985/week @ 2024-05-06 5720/week @ 2024-05-13 7121/week @ 2024-05-20 5565/week @ 2024-05-27 7251/week @ 2024-06-03 5185/week @ 2024-06-10 4782/week @ 2024-06-17 3332/week @ 2024-06-24 2922/week @ 2024-07-01 3196/week @ 2024-07-08

14,660 每月下载次数
10 个 crate 中使用 (通过 wasmer-asml-fork)

MIT 许可证

1MB
18K SLoC

wasmer-engine-dylib 构建状态 加入 Wasmer Slack MIT 许可证

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

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

这使得 Wasmer 能够实现 极快的 本地启动时间

注意:您可以在以下位置找到一个使用 Dylib 引擎的完整示例 这里

wasmer-engine-universal 的区别

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

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

要求

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

我们建议安装 gccclang

注意:当进行 交叉编译 到其他目标时,默认使用的命令将是 clang

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

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

或者在macOS上

brew install llvm

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

依赖项

~10–20MB
~305K SLoC