沙箱内核模式 WebAssembly 运行时。
epoll 支持的异步网络扩展由于 WASM 是由虚拟机保护的虚拟 ISA,因此我们不需要依赖外部硬件和软件检查来确保安全。在内核中运行 WASM 避免了这些检查引入的大部分开销,例如系统调用(上下文切换)和 copy_{from,to}_user,因此提高了性能。此外,具有低级别的控制意味着我们可以实现许多在用户空间中很耗时或不可能实现的功能,例如虚拟内存技巧和处理密集的内核事件(如网络包过滤)。
Wasmer 主仓库的 examples 目录中有两个示例(echo-server 和 http-server),它们的实现功能与其名称所示。使用 singlepass 后端(未优化的直接 x86-64 代码生成)并使用 tcpkali/wrk 进行基准测试时,echo-server 的速度比原生版本快约 10%(25210 Mbps/22820 Mbps),而 http-server 的速度快约 6%(53293 Rps/50083 Rps)。一旦其他两个具有优化功能的 Wasmer 后端(Cranelift/LLVM)更新以支持为内核生成代码,预计性能将更高。
暂无开放 Issues,或尚未同步最近议题。