I’ve seen people mention on discussions that elixir is good for IO, but I’m not sure what that means
Does it mean elixir is good for I/O intensive applications?
I’ve seen people mention on discussions that elixir is good for IO, but I’m not sure what that means
Does it mean elixir is good for I/O intensive applications?
Does it mean elixir is good for I/O intensive applications?
I always understood it this way, with a focus on web services.
I believe what is usually meant is that Elixir is good at providing I/O-bound services to a large group of users that simultaneously use the system (and should not be able to impact each-other’s use of the system).
‘I/O-bound’ here means that for each user, the lightweight green thread (usually called a ‘BEAM Process’ in Elixir terms) serving that user will spend a lot of its time manipulating sockets, databases, files, et cetera. Whenever, during such a manipulation, the process needs to wait for more information to arrive (AKA the I/O ‘blocks’), the Elixir schedulers are smart enough to serve other BEAM processes in the meantime.