Hacker News new | ask | show | jobs
by imachine1980_ 1243 days ago
Please, can you share the rust library??
3 comments

I'm the author of something related https://github.com/lunatic-solutions/lunatic
I don’t remember the name and I don’t remember if it is tokio or something else. However, I did find this: https://docs.rs/genserver/latest/genserver/

I will keep looking. Keep in mind, BEAM uses a preemptive actor rather than async, so it avoids the “storms” that can happen when an async reactor runs out of resources. EDIT: but I guess Tokio is capable of preemption through work-stealing too?

This looks interesting too, though no OTP out-of-the-box: https://docs.rs/axiom/latest/axiom/
Can you say more about these storms? Sounds pretty interesting. How does preempting solve it?
I don't know Python or Rust well, but I think this is the problem:

https://betterprogramming.pub/the-dangers-of-async-in-python...

And this is how some people are solving it:

https://async.rs/blog/stop-worrying-about-blocking-the-new-a...

This is how it works in BEAM:

https://github.com/happi/theBeamBook/blob/master/chapters/sc...

The commonality is to limit execution time and yield (preempt) so something else can run too.

Not sure this is what GP is talking about but to implement the actor model in https://letlang.dev I use tokio.