async-wormhole VS lunatic

Compare async-wormhole vs lunatic and see what are their differences.

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
async-wormhole lunatic
3 86
108 4,530
1.9% 0.7%
0.0 5.7
5 months ago about 1 month ago
Rust Rust
- Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

async-wormhole

Posts with mentions or reviews of async-wormhole. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-10-14.
  • A mini-Erlang/Elixir -- tell me if/why my idea sucks
    5 projects | /r/ProgrammingLanguages | 14 Oct 2021
    Taking onto such a big project can be scary and overwhelming, so I like to "cheat" a bit. Instead of developing a M:N scheduler I picked an already mature and proven one from the Rust ecosystem: tokio. Then I just needed to develop a virtual stacks solution that works well with the scheduler. Instead of inventing my own byte-code I just picked WebAssembly, it's just a small abstraction above machine code and has mature JIT compiler libraries that generate code close to native speed. Then again, I just needed to figure out how to do reduction counting and insert preemption points into WebAssembly code during loading.
  • lunatic v0.5 released
    1 project | /r/rust | 30 Jul 2021
    Previously, we used our own implementation of virtual stacks and stack switching. Both (Wasmer & Wasmtime) Wasm runtimes we used internally required a tight integration with it, but neither library exposed the primitives to integrate well with it. So we needed to maintain forks of both runtimes with some patches to expose internal data structures. Just keeping up to date with new releases was taking way too much of my time. Stack switching is also a delicate task with a lot of hand written assembly involved and we would run into segfaults from time to time. Luckily Wasmtime shipped "native" async support that works similar to our implementation so we could switch to it. Re-writing was a pain, but I'm happy how everything has turned out and think that it was worth it.
  • Lunatic - An Erlang inspired runtime for all programming languages
    3 projects | /r/rust | 8 Mar 2021
    Under the hood, Lunatic wraps "processes" inside of Rust async tasks with https://github.com/bkolobara/async-wormhole and can use any async executor to run them. We are currently using Smol's multithreaded executor, so it scales quite nicely across cores.

lunatic

Posts with mentions or reviews of lunatic. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-14.

What are some alternatives?

When comparing async-wormhole and lunatic you can also consider the following projects:

flume - A safe and fast multi-producer, multi-consumer channel.

spin - Spin is the open source developer tool for building and running serverless applications powered by WebAssembly.

cant - A programming argot

hyperscan - High-performance regular expression matching library

beam_languages - Languages, and about languages, on the BEAM

actix - Actor framework for Rust.

bastion - Highly-available Distributed Fault-tolerant Runtime

wit-bindgen - A language binding generator for WebAssembly interface types

wasmCloud - wasmCloud allows for simple, secure, distributed application development using WebAssembly components and capability providers.

tui-rs - Build terminal user interfaces and dashboards using Rust

fengari - 🌙 φεγγάρι - The Lua VM written in JS ES6 for Node and the browser