Lunatic 是一个单一的可执行文件,可在 Windows、macOS 和 Linux 上运行。它从拥有自己的堆/堆栈的 WebAssembly 模块生成轻量级进程。这些进程被预先安排在多线程执行器上。 Lunatic 的设计完全是关于超轻量级工艺。进程创建速度快,内存占用小,调度开销低。它们专为大规模并发而设计。 Lunatic 位于您的操作系统和正在运行的进程之间。这允许它在每个进程的基础上决定将哪些系统调用转发到操作系统。如果你想运行一些不受信任的代码,你可以。只需在没有任何权限的进程中生成它。 Lunatic 是一个在 MIT/Apache 许可下许可的开源项目。你可以在 Github 上查看代码。 Lunatic 建立在 WebAssembly 的安全性之上。我们都使用与我们的代码一起部署的未经审计的第三方库,Lunatic 可以使用基于功能的安全性来限制它们。 Lunatic 支持 Wasmer 或 Wasmtime 将您的 Wasm 及时编译为机器代码。支持 LLVM 和 Cranelift 作为代码生成器。使用 LLVM 时,运行时性能与本机代码大致相当。我们希望支持所有编译为 Wasm 的语言。有些更适合 Lunatic 的用例。目前,我们专注于 Rust 和 AssemblyScript。
您可以自由地以任何您想要的方式构建您的应用程序。理想情况下,您应该能够将现有应用程序编译为 Wasm 并享受 Lunatic 的一些好处。疯狂的进程是完全隔离的,每个进程都有一个堆栈和堆。如果一个进程崩溃,它不会影响运行时中的其他进程。