I keep reading that an Erlang or Elixir system can run hundreds of thousands of processes on one machine, and that starting one process per connection or per device is normal. With OS threads in C or Java I would be careful about creating even a few thousand.
Technically, what makes a BEAM process so much lighter than a thread, how does the VM schedule them all, and what are the costs that I should still keep in mind?




