3 ms·
Not as much as you would expect. The natural way you build systems in Erlang is across erlang-processes (micro processes). Even if you are building an applica
by MetaCosm 14y ago
Not as much as you would expect. The natural way you build systems in Erlang is across erlang-processes (micro processes). Even if you are building an application running on a single core, you use erlang-processes extensively. This means for a little TCP-IP server, you use one erlang-process per incoming connection on one core or 32 -- the only difference is how they are schedule, when you are on 32 cores the Erlang VM starts up more threads and then schedules the erlang-processes across the VM threads and those threads are scheduled across physical processors.
The trick is -- when you build software in Erlang -- you start up new processes for the true concurrency (in a web application, the true concurrency is number of connections, so they get there own processes). This means that Erlang applications routinely have hundreds of thousands of processes -- which makes it easy to schedule across a mere 32 or 64 or 128 physical cores.