[erlang-questions] erlang process schedule
Mon Jan 19 16:19:30 CET 2009
On 19 Jan 2009, at 03:35, Kaiduan Xie wrote:
> Can anyone give a systematic view on how erlang schedules process?
> Joe's "Programming Erlang" gives details on how fast an erlang
> process is created/destroyed; unfortunately it does not elaborate
> how erlang process is scheduled, and how fast is the process switch.
> (We all konw thread context switch in C/Java is not cheap)
Processes run for a fixed number of "reductions" until they cat
stopped and the next one gets executed. This happens round-robin.
There is one optimisation that when a process sends a message to
another one, the sending process gets stopped and the remaining
reductions go to the called process. Switching processes is as fast as
increasing a pointer in the array that keeps track of all processes.
More information about the erlang-questions