Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: