5 ms·
The BEAM's real special sauce is in its preemptive scheduler in that it is impossible for one process to take down the whole system, even if bad processes are e
by bmitc 2y ago
The BEAM's real special sauce is in its preemptive scheduler in that it is impossible for one process to take down the whole system, even if bad processes are eating up the entire CPU. This cannot be done in any other language.
- macintux 2y agoWorth noting as a disclaimer for people reading this: this is only true so long as external interfaces are not used. As soon as the BEAM calls out to other binaries, you lose that guarantee.
- dqv 2y agoA disclaimer to the disclaimer is that you should be isolating that binary on dedicated nodes if there are stability concerns. Inter-node communication is trivial on the BEAM and it can be tweaked in the future when the scale of the system calls for it.
- franticgecko3 2y agoIf you write an Erlang function in C you can actually call a function that lets the scheduler know you are willing to yield.